Kif Tiżgura Nginx b'Les Encrypt fuq Ubuntu u Debian
Wara t-tutorja preċedenti Let's Encrypt dwar Apache SSL, f'dan l-artikolu ser niddiskutu kif niġġeneraw u ninstallaw ċertifikat SSL/TLS b'xejn maħruġ minn Let's Encrypt CA għal webserver Nginx fuq Ubuntu jew Debian.
- Sikura Apache b'Ejja Kriptaġġ Ħieles fuq Ubuntu u Debian
- Installa Let's Encrypt SSL biex tassigura Apache fuq RHEL u CentOS
- Dominju reġistrat b'rekords DNS validi
A
biex jindikaw lura lejn l-indirizz IP tas-server tiegħek. - Server tal-web Nginx installat b'SSL u Vhost attivati, f'każ li qed tippjana li tospita oqsma jew sottodominji multipli.
Pass 1: Installazzjoni ta 'Nginx Web Server
1. Fuq l-ewwel pass installa Nginx web server, jekk mhux installat diġà, billi toħroġ il-kmand hawn taħt:
$ sudo apt-get install nginx
Pass 2: Iġġenera Ċertifikat SSL Ejja Encrypt għal Nginx
2. Qabel ma tiġġenera ċertifikat SSL/TLS b'xejn, installa softwer Let's Encrypt fil-ġerarkija tas-sistema tal-fajls /usr/local/
bl-għajnuna tal-klijent git billi toħroġ il-kmandi hawn taħt:
$ sudo apt-get -y install git $ cd /usr/local/ $ sudo git clone https://github.com/letsencrypt/letsencrypt
3. Għalkemm il-proċedura biex tikseb Ċertifikat għal Nginx hija awtomatizzata, xorta tista 'manwalment toħloq u tinstalla ċertifikat SSL b'xejn għal Nginx billi tuża l-plugin Let's Encrypt Standalone.
Dan il-metodu jeħtieġ li l-port 80 ma jridx jintuża fis-sistema tiegħek għal perjodu qasir ta 'żmien filwaqt li l-klijent Let's Encrypt jivvalida l-identità tas-server qabel ma jiġġenera ċ-ċertifikat.
Fil-każ li diġà qed tħaddem Nginx, waqqaf is-servizz billi toħroġ il-kmand li ġej.
$ sudo service nginx stop OR $ sudo systemctl stop nginx
Fil-każ li qed tħaddem servizz ieħor li jorbot mal-port 80 waqqaf dak is-servizz ukoll.
4. Ikkonferma li l-port 80 huwa ħieles billi tħaddem il-kmand netstat:
$ sudo netstat -tlpn | grep 80
5. Issa wasal iż-żmien li tħaddem letsencrypt
sabiex tikseb Ċertifikat SSL. Mur fid-direttorju tal-installazzjoni Let's Encrypt misjub fil-mogħdija tas-sistema /usr/local/letsencrypt u mexxi l-kmand letsencrypt-auto billi tipprovdi l-għażla --standalone
certonly u l-marka -d
għal kull dominju jew sottodominju li tixtieq tiġġenera ċertifikat.
$ cd /usr/local/letsencrypt $ sudo ./letsencrypt-auto certonly --standalone -d your_domain.tld
6. Daħħal l-indirizz tal-email li se jintuża minn Let's Encrypt għall-irkupru taċ-ċavetta mitlufa jew avviżi urġenti.
7. Aqbel mat-termini tal-liċenzja billi tagħfas Enter key.
8. Fl-aħħarnett, jekk kollox mar suċċess, messaġġ simili għall-screenshot hawn taħt għandu jidher fuq il-console tat-terminal tiegħek.
Pass 3: Installa Let's Encrypt SSL Certificate f'Nginx
9. Issa li ċ-Ċertifikat SSL tiegħek ġie ġġenerat huwa żmien li tikkonfigura l-webserver Nginx biex tużah. Iċ-ċertifikati SSL ġodda jitqiegħdu f'/etc/letsencrypt/live/
taħt direttorju msemmi wara l-isem tad-dominju tiegħek. Mexxi l-kmand ls biex telenka l-fajls taċ-Ċertifikat maħruġa għad-dominju tiegħek.
$ sudo ls /etc/letsencrypt/live/ $ sudo ls -al /etc/letsencrypt/live/caeszar.tk
10. Sussegwentement, iftaħ il-fajl /etc/nginx/sites-available/default
b'editur tat-test u żid il-blokk li ġej wara l-ewwel linja kkummentata li tispeċifika l-bidu tal-blokk SSL. Uża l-screenshot hawn taħt bħala gwida.
$ sudo nano /etc/nginx/sites-enabled/default
Silta blokk Nginx:
# SSL configuration # listen 443 ssl default_server; ssl_certificate /etc/letsencrypt/live/caeszar.tk/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/caeszar.tk/privkey.pem; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_prefer_server_ciphers on; ssl_ciphers 'EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH'; ssl_dhparam /etc/nginx/ssl/dhparams.pem;
Ibdel il-valuri tal-isem tad-dominju għaċ-ċertifikati SSL kif xieraq.
11. Fuq il-pass li jmiss iġġenera ċifra Diffie-Hellman qawwija fid-direttorju /etc/nginx/ssl/ sabiex tipproteġi s-server tiegħek kontra l-attakk Logjam billi tmexxi l-kmandi li ġejjin.
$ sudo mkdir /etc/nginx/ssl $ cd /etc/nginx/ssl $ sudo openssl dhparam -out dhparams.pem 2048
12. Fl-aħħarnett, ibda mill-ġdid Nginx daemon biex jirrifletti l-bidliet.
$ sudo systemctl restart nginx
u ttestja ċ-ċertifikat SSL tiegħek billi żżur il-URL hawn taħt.
https://www.ssllabs.com/ssltest/analyze.html
Pass 4: Ġedded Awtomatiku Ejja Kriptaġġ Ċertifikati Nginx
13. Iċ-ċertifikati maħruġa minn Let's Encrypt CA huma validi għal 90 jum. Sabiex iġġedded awtomatikament il-fajls qabel id-data tal-iskadenza oħloq skript bash ssl-renew.sh
fid-direttorju /usr/local/bin/
bil-kontenut li ġej.
$ sudo nano /usr/local/bin/ssl-renew.sh
Żid il-kontenut li ġej fil-fajl ssl-renew.sh
.
#!/bin/bash cd /usr/local/letsencrypt sudo ./letsencrypt-auto certonly -a webroot --agree-tos --renew-by-default --webroot-path=/var/www/html/ -d your_domain.tld sudo systemctl reload nginx exit 0
Ibdel il-varjabbli --webroot-path
biex taqbel l-għerq tad-dokument Nginx tiegħek. Kun żgur li l-iskript huwa eżekutibbli billi toħroġ il-kmand li ġej.
$ sudo chmod +x /usr/local/bin/ssl-renew.sh
14. Fl-aħħarnett żid xogħol cron biex tħaddem l-iskritt kull xahrejn f'nofs il-lejl sabiex tiżgura li ċ-ċertifikat tiegħek jiġi aġġornat f'madwar 30 jum qabel ma jiskadi.
$ sudo crontab -e
Żid il-linja li ġejja fil-qiegħ tal-fajl.
0 1 1 */2 * /usr/local/bin/ssl-renew.sh >> /var/log/your_domain.tld-renew.log 2>&1
Dak hu! Is-server Nginx tiegħek issa qed iservi kontenut SSL billi juża ċertifikat SSL Let's Encrypt b'xejn.