bg-tutorials

Cum să instalați un certificat SSL ACME pe Apache și NGINX

Dacă executați un server web, securizarea acestuia cu HTTPS este un standard de bază. Datorită protocolului ACME (Automated Certificate Management Environment), puteți automatiza emiterea și reînnoirea certificatelor SSL prin instrumente precum Certbot.

ACME SSL pe Apache și Nginx

În acest ghid, veți învăța cum să instalați un certificat ACME pe Apache și NGINX utilizând Certbot în diferite distribuții Linux. Vom acoperi sistemele bazate pe Debian și RHEL, vom include clarificări acolo unde este necesar și vă vom ghida de la instalare la reînnoirea automată.


Înainte de a începe

Înainte de a începe, verificați dacă:

  • Aveți acces sudo sau root la serverul dvs.
  • Numele domeniului dvs. indică adresa IP publică a serverului dvs. prin DNS
  • Porturile 80 și 443 sunt deschise în firewall-ul dvs. sau în grupul de securitate al furnizorului de cloud
  • Sistemul dvs. este actualizat și acceptat

Pasul 1 – Instalați Certbot pe sistemul dvs. de operare

Certbot este clientul ACME pe care îl vom utiliza pentru a solicita și reînnoi certificatele SSL. Vom parcurge instrucțiunile de configurare pentru fiecare sistem de operare acceptat. Alegeți-l pe cel care se potrivește serverului dvs.

Ediții Ubuntu LTS cu APT

Actualizați pachetele și instalați Certbot cu pluginul serverului dvs. web preferat:

Apache:

sudo apt update
sudo apt install certbot python3-certbot-apache

NGINX:

sudo apt update
sudo apt install certbot python3-certbot-nginx

Sisteme Debian cu suport APT

Același proces ca Ubuntu:

sudo apt update
sudo apt install certbot python3-certbot-apache # for Apache
sudo apt install certbot python3-certbot-nginx # for NGINX

Pe sistemele Debian, instalarea Certbot prin APT este cea mai simplă opțiune. Dacă preferați să utilizați Snap (pentru cea mai recentă versiune), derulați în jos la secțiunea Snap de mai jos.

AlmaLinux sau Rocky Linux (compatibil cu RHEL)

Activați mai întâi depozitul EPEL:

sudo dnf install epel-release
sudo dnf update

Apoi instalați Certbot cu pluginul ales de dvs:

Apache:

sudo dnf install certbot python3-certbot-apache

NGINX:

sudo dnf install certbot python3-certbot-nginx

Alternativă: Instalați Certbot prin Snap (Toate sistemele)

Dacă doriți cea mai recentă versiune direct de la sursă, utilizați Snap.

1. Instalați Snap (dacă nu este deja instalat):

sudo apt install snapd # Ubuntu/Debian
sudo dnf install snapd # AlmaLinux/Rocky

2. Instalați și conectați Certbot:

sudo snap install core
sudo snap refresh core
sudo snap install --classic certbot
sudo ln -s /snap/bin/certbot /usr/bin/certbot

Opțional: Instalați Certbot cu pip (pentru configurații personalizate)

Această metodă este destinată utilizatorilor avansați sau mediilor personalizate în care pachetele Snap sau OS nu sunt disponibile. Ar trebui să o utilizați numai dacă:

  • Rulați Certbot într-un mediu virtual
  • Lucrați cu containere minime
  • Sistemul dvs. de operare nu acceptă snapd, apt sau dnf în mod curat

Pentru a instala Certbot folosind pip:

python3 -m pip install --upgrade certbot

Aceasta instalează instrumentul de bază Certbot, dar nu va configura reînnoirea automată și nu va instala pluginurile Apache sau NGINX. Va trebui să configurați totul manual

Dacă nu sunteți sigur ce înseamnă acest lucru, mergeți înapoi și folosiți în schimb instrucțiunile APT, DNF sau Snap.

De asemenea, puteți instala pluginuri (cum ar fi cel NGINX) utilizând pip:

python3 -m pip install certbot-nginx

Utilizați pip numai dacă mediul sistemului dvs. necesită control sau izolare completă.


Pasul 2 – Solicitați și instalați certificatul ACME

Există două abordări principale: complet automată sau specifică furnizorului, utilizând acreditările EAB (External Account Binding). Ambele sunt abordate mai jos.

Opțiunea A: Complet automatizat (ACME standard)

Lăsați Certbot să se ocupe de tot – solicitați, verificați, instalați și reîncărcați configurația serverului dvs.

Apache:

sudo certbot --apache

NGINX:

sudo certbot --nginx

Veți fi întrebat:

  • Care domeniu(uri) trebuie securizat(e)
  • Dacă să redirecționați tot traficul HTTP către HTTPS
  • Adresa dvs. de e-mail pentru reamintirile de reînnoire

Certbot are grijă de validare și de configurarea serverului web în spatele scenei.

Opțiunea B: Utilizarea unui furnizor extern ACME (de exemplu, Sectigo) cu EAB

Dacă furnizorul dvs. necesită legarea contului extern, utilizați această metodă:

sudo certbot --nginx \
--non-interactive \
--agree-tos \
--email [email protected] \
--server https://acme.sectigo.com/v2/DV \
--eab-kid YOUR_EAB_KID \
--eab-hmac-key YOUR_EAB_HMAC_KEY \
--domain example.com \
--domain www.example.com \
--cert-name my-website-cert

Înlocuiți --nginx cu --apache pentru configurarea Apache.

Veți primi --eab-kid și --eab-hmac-key de la furnizorul dvs. de certificate la înregistrarea unui cont ACME.

Opțiunea C: Utilizați Certbot în modul manual

Dacă nu doriți ca Certbot să vă modifice configurația serverului web sau dacă utilizați o configurație personalizată, puteți solicita un certificat manual.

Iată cum să faceți acest lucru folosind metoda webroot:

sudo certbot certonly --webroot \
-w /var/www/html \
-d example.com \
-d www.example.com \
--email [email protected] \
--agree-tos \
--non-interactive

  • –certonly spune Certbot pentru a emite certificatul, dar nu-l instala
  • -w specifică directorul rădăcină pentru site-ul dvs. web (trebuie să fie accesibil publicului prin portul 80)

După emitere, configurați manual serverul dvs. web cu fișierele de certificate situate în:

/etc/letsencrypt/live/yourdomain.com/

Notă: Această cale este utilizată indiferent de furnizorul ACME pe care îl alegeți, cu excepția cazului în care suprascrieți directorul de stocare utilizând indicatori avansați (–config-dir, –work-dir).

Asigurați-vă că vă reîncărcați serverul web după aplicarea căilor de certificare în configurație.


Pasul 3 – Verificați dacă totul funcționează

Vizitați domeniul dvs. într-un browser. Ar trebui să vedeți lacătul securizat sau doar încărcarea cu succes a paginii pe Chrome. Pentru a verifica de două ori dacă serverul funcționează:

sudo systemctl status apache2 # Debian/Ubuntu (Apache)
sudo systemctl status httpd # AlmaLinux/Rocky (Apache)
sudo systemctl status nginx # All systems (NGINX)

Și pentru a inspecta certificatul de la terminal:

openssl s_client -connect yourdomain.com:443

Căutați datele valide și numele CA al furnizorului dvs. în rezultat.


Pasul 4 – Configurați reînnoirea automată

Protocolul ACME suportă reînnoirea automată a certificatelor, iar Certbot este proiectat să gestioneze acest lucru fără probleme prin intermediul unui cronometru systemd încorporat sau al unei sarcini cron. Cu toate acestea, comportamentul de reînnoire depinde de furnizorul dvs. de certificate:

CA-urile gratuite (precum Let’s Encrypt) eliberează certificate valabile 90 de zile și acceptă verificări frecvente de reînnoire.

CA-urile comerciale (cum ar fi Sectigo sau Digicert) emit adesea certificate valabile timp de 1 an prin ACME, dar urmează în continuare procesul de reînnoire ACME. Certbot se ocupă automat și de acestea, doar că mai rar.

Verificați dacă reînnoirea este programată

Certbot configurează în mod implicit un cronometru de sistem sau un cron job. Puteți confirma că este activ cu:

systemctl list-timers | grep certbot

Acest lucru asigură că Certbot verifică certificatele în mod regulat (de obicei, de două ori pe zi) și le reînnoiește numai atunci când se află în fereastra de reînnoire (de obicei, cu 30 de zile înainte de expirare).


Concluzie

Certbot și protocolul ACME simplifică gestionarea SSL. Acest ghid vă oferă tot ce aveți nevoie pentru a instala un certificat ACME pe Apache și NGINX cu reînnoire automată, validare clară și control deplin atunci când este necesar.

Economisește 10% la certificatele SSL în momentul plasării comenzii!

Eliberare rapidă, criptare puternică, încredere în browser de 99,99%, suport dedicat și garanție de returnare a banilor în 25 de zile. Codul cuponului: SAVE10

A detailed image of a dragon in flight

Autor cu experiență, specializat în certificate SSL. Transformă subiectele complexe despre securitatea cibernetică în conținut clar și captivant. Contribuie la îmbunătățirea securității digite prin narațiuni cu impact.