Ta članek vas bo vodil skozi kaliake za namestitev vašega SSL potrdila na Nginx in nastavitev samodejnega preusmerjanja iz HTTP:// na HTTPS://.
1. Prenesite potrdila na strežnik, kjer gostuje vaša spletna stran
Ko ste zaključili s generiranjem CSR kode in aktivacijo SSL, boste po e-pošti prejeli zip datoteko s Sectigo (prej znan kot Comodo) potrdili. Alternativno jih lahko prenesete iz vašega NiceNic upaliabniškega računa.
Opomba: Če ste ob aktivaciji potrdila izbrali NGINX strežnik, boste prejeli zip datoteko, ki vsebuje datoteko potrdila z '.crt' pripono in datoteko verige izdajateljev potrdil (CA bundle) z '.ca-bundle' pripono.
Prenesite obe datoteki na vaš strežnik na način, ki vam najbolj ustreza. Na primer, z upaliabo FTP odjemalca.
Podobno lahko datoteko verige (Bundle) za vsako potrdilo prenesete po navodilih tukaj.
2. Združite vsa potrdila v eno datoteko
Vsa potrdila (va?ega_domena.crt in va?ega_domena.ca-bundle) maliate združiti v eno '.crt' datoteko.
Potrdilo za vašo domeno malia biti prvo v datoteki, sledijo pa mu vrstni red potrdil verige (CA Bundle).
Vstopite v imenik, kjer ste prenesli datoteke potrdil. Za združitev datotek zaženite naslednji ukaz:
$ cat va?ega_domena.crt va?ega_domena.ca-bundle >> va?ega_domena_chain.crt
Upoštevajte, da če so datoteke potrdil prenesene iz vašega NiceNic računa, je najbolj primeren ukaz:
$ cat va?ega_domena.crt > va?ega_domena_chain.crt ; echo >> va?ega_domena_chain.crt ; cat va?ega_domena.ca-bundle >> va?ega_domena_chain.crt
3. Ustvarjanje ločenega Nginx strežniškega bloka ali sprememba obstoječe konfiguracijske datoteke
Za namestitev SSL potrdila na Nginx maliate strežniku pokazati, katere datoteke upaliabljati, bodisi z a) ustvarjanjem nove konfiguracijske datoteke ali b) urejanjem obstoječe.
a) Z dodajanjem nove konfiguracijske datoteke za spletno stran zagotovite, da ni težav z ločeno konfiguracijsko datoteko. Prav tako je lažje odpraviti maliebitne težave z namestitvijo v primeru problema z novo konfiguracijo.
Pripaliočamo, da ustvarite novo konfiguracijsko datoteko v tej mapi:
/etc/nginx/conf.d
Za lahko staliite z naslednjim ukazom:
sudo nano /etc/nginx/conf.d/Your_domena*-ssl.conf
Kjer je Your_domena*-ssl.conf ime novo ustvarjene datoteke.
Nato kopirajte in prilepite enega od spodnjih strežniških blokov za vrata 443 in uredite poti. Preverite, da se ime strežnika in pot do webroot ujemata v obeh strežniških blokih za vrata 80 in 443. Če imate druge pomembne vrednosti, jih premaknite tudi v novi strežniški blok.
b) Uredite privzeto konfiguracijsko datoteko spletnega strežnika, ki se imenuje nginx.conf. Nahajati se malia v eni od teh map:
/usr/local/nginx/conf
/etc/nginx
/usr/local/etc/nginx
Datoteko lahko poiščete tudi z naslednjim ukazom:
sudo find / -type f -iname "nginx.conf"
Ko jo najdete, odprite datoteko s:
sudo nano nginx.conf
Nato kopirajte in prilepite enega od strežniških blokov za vrata 443 spodaj in uredite poti v skladu s strežniškim blokom za vrata 80 (z ujemajočim imenom strežnika, potjo do webroot in drugimi pomembnimi vrednostmi, ki jih potrebujete). Alternativno lahko kopirate strežniški blok za vrata 80, ga nato prilepite spodaj, spremenite vrata in dodate potrebne SSL direktive.
Izberite strežniški blok:
Spodaj najdete strežniški blok za vašo verzijo Nginx.
Opomba: Za prejerjanje verzije Nginx zaženite ta ukaz:
sudo nginx -v

Opomba: Zamenjajte vrednosti imen datotek, kot je va?ega_domena_chain.crt, v strežniškem bloku z vašimi podatki in ustrezno prilagodite poti s /path/to/.
Strežniški blok za Nginx verzijo 1.14 in nižje:
server {
listen 443;
ssl on;
ssl_certificate /path/to/certificate/va?ega_domena_chain.crt;
ssl_certificate_key /path/to/va?ega_private.key;
root /path/to/webroot;
server_name va?ega_domena.com;
}
Opomba: Lahko določite več domen v takšni konfiguraciji, če je potrebno, npr.:
server {
listen 443;
ssl on;
ssl_certificate /path/to/certificate/va?ega_domena_chain.crt;
ssl_certificate_key /path/to/va?ega_private.key;
root /path/to/webroot;
server_name va?ega_domena.com www.va?ega_domena.com;
}
Strežniški blok za Nginx verzijo 1.15 in višje:
server {
listen 443 ssl;
ssl_certificate /path/to/certificate/va?ega_domena_chain.crt;
ssl_certificate_key /path/to/va?ega_private.key;
root /path/to/webroot;
server_name va?ega_domena.com;
}
ssl_certificate malia biti usmerjeno na datoteko združenih potrdil, ki ste jo predhodno ustvarili.
ssl_certificate_key malia biti usmerjeno na zasebni ključ, ki je bil ustvarjen z CSR kodo.
Tu je nekaj nasvetov, kako najti zasebni ključ na Nginx.
Pomembno: Za Multi-Domena ali Wildcard potrdilo maliate za vsako domeno/poddomeno, vključeno v potrdilo, dodati ločen strežniški blok. Poskrbite, da določite ustrezno domeno/poddomeno in poti do enakih datotek potrdil v strežniškem bloku, kot je opisano zgaliaj.
Ko dodate ustrezni strežniški blok v datoteko, shranite spremembe. Nato lahko z naslednjimi kaliaki prejerite maliebitne napake.
Zadenite naslednji ukaz, da prejerite, ali je sintaksa konfiguracijske datoteke v redu:
sudo nginx -t

Če prejmete napake, ponovno prejerite, ali ste pravilno sledili navodilom. Za vprašanja se lahko kadar koli obrnete na našo podpalio.
Tukaj je nasvet: za iskanje dnevnikov napak za odpravljanje težav preprosto zaženite:
sudo nginx -T | grep 'errali_log'
Če omenjene datoteke ne obstajajo, so zakomentirane ali če niso določene datoteke dnevnikov napak, prejerite privzeti sistemski dnevnik:
tail /var/log/nginx/errali.log -n 20
Če strežnik uspešno prikaže test, znova zaženite Nginx s tem ukazom, da uveljavite spremembe:
sudo nginx -s reload
Vaše SSL potrdilo je zdaj nameščeno. Imestitev lahko prejerite tukaj.
Pomembne opombe:
Včasih, po namestitvi SSL datoteke, ki je bila združena prek ukazne vrstice, se lahko prikaže spaliočilo o napaki 'Nginx/Apache errali: 0906D066:PEM routines:PEM_read_bio:bad end line', v tem primeru lahko najdete rešitev v referenčnem vodniku.
Druga pogosta težava v tej fazi je spaliočilo o napaki 'Nginx SSL: errali:0B080074:x509 certificate routines: X509_check_private_key:key values mismatch'; več podrobnosti in možnih rešitev najdete v tem članku.
4. Nastavitev preusmeritve na HTTPS
Pripaliočamo, da nastavite preusmeritev z HTTP na HTTPS. Na ta način bodo obiskovalci vaše spletne strani dostopali le do varne različice vaše strani.
Za to maliate dodati eno vrstico v konfiguracijsko datoteko s strežniškim blokom za vrata 80.
Nasveti:
Upaliabite lahko enega izmed naslednjih ukazov, da poiščete konfiguracijske datoteke, ki so trenutno omogočene:
sudo nginx -T | grep -iw "configuration file"
sudo nginx -T | grep -iw "include"
Privzete poti do konfiguracijske datoteke so:
za RHEL temelječe Linux OS: /etc/nginx/conf.d/default.conf
za Debian temelječe Linux OS: /etc/nginx/sites-enabled/default
Datoteke lahko odprete, da prejerite, katera vsebuje želeni strežniški blok. Za to zaženite:
sudo nano name_of_the_file
Ko najdete datoteko s strežniškim blokom za vrata 80 (privzeta vrata za HTTP), dodajte naslednjo vrstico:
return 301 https://$server_name$request_uri;
Opomba: Zgalinja pravila za preusmeritev malia biti vpisana kot zadnja vrstica v strežniškem bloku.