Tšis raksts jūs iepazīstinās ar soļiem, kā instalēt savu SSL sertifikātu Nginx un iestatīt automātisku pāradresāciju no HTTP:// uz HTTPS://.
1. Augšupielādējiet sertifikātus serverī, kurā mitināta jūsu tīmekļa vietne
Pabeidzot CSR koda ģenerēšanu un SSL aktivizēšanu, jūs saņemsiet zip failu ar Sectigo (agrāk pazīstams kā Comodo) sertifikātiem pa e-pastu. Alternatīvi, tos varat lejupielādēt no sava NiceNic konta paneļa.
Piezīme: Ja aktivizējot sertifikātu izvēlaties NGINX serveri, saņemsiet zip failu, kas satur sertifikāta failu ar '.crt' paplašinājumu un Sertifikācijas iestādes (CA) bundļa failu ar '.ca-bundle' paplašinājumu.
Augšupielādējiet abus failus savā serverī vēlamajā veidā, piemēram, izmantojot FTP klientu.
Jūs arī varat lejupielādēt bundļa failu katram sertifikātam, sekojot nvaiādījumiem šeit.
2. Apvienojiet visus sertifikātus vienā failā
Jums nepieciešams apvienot visus sertifikātus (jūsu_domēns.crt un jūsu_domēns.ca-bundle) vienā '.crt' failā.
Sertifikātam jūsu domēnam jābūt pirmajam failā, tam seko sertifikātu ķēde (CA bundlis).
Ieejiet direktvaiijā, kur augšupielādējāt sertifikātu failus. Izpildiet šo komunu, lai apvienotu failus:
$ cat jūsu_domēns.crt jūsu_domēns.ca-bundle >> jūsu_domēns_chain.crt
Lūdzu, ņemiet vērā, ka, ja sertifikātu faili tika lejupielādēti no jūsu NiceNic konta, vispiemērotākā komuna būs:
$ cat jūsu_domēns.crt > jūsu_domēns_chain.crt ; echo >> jūsu_domēns_chain.crt ; cat jūsu_domēns.ca-bundle >> jūsu_domēns_chain.crt
3. Izveidot atsevišķu Nginx servera bloku vai modificēt esošo konfigurācijas failu
Lai instalētu SSL sertifikātu Nginx, ir jānvaiāda serverim, kuri failus izmantot, vai nu a) izveidojot jaunu konfigurācijas failu, vai b) rediģējot esošo.
a) Pievienojot jaunu konfigurācijas failu tīmekļa vietnei, jūs nodrošināsiet, ka nav problēmu ar atsevišķo konfigurācijas failu. Turklāt būs daudz vieglāk atrisināt instalācijas problēmas, ja jaunajā konfigurācijā radušās kādas kļūdas.
Mēs iesakām izveidot jaunu konfigurācijas failu šajā mapē:
/etc/nginx/conf.d
Lai var izdarīt, izmantojot šo komunu:
sudo nano /etc/nginx/conf.d/Your_domēns*-ssl.conf
Kur Your_domēns*-ssl.conf ir jaunizveidotā faila nosaukums.
Tālāk nokopējiet un ielīmējiet vienu no zemāk esošajiem serveru blokiem 443 pvaita konfigurācijai un rediģējiet ceļus. Pārliecinieties, ka servera vārds un ceļš uz webroot sakrīt gan servera blokā 80 pvaitam, gan 443 pvaitam. Ja ir kādas citas svarīgas vērtības, kas jāglabā, pārvietojiet tās arī uz jauno servera bloku.
b) Rediģēt noklusējuma tīmekļa servera konfigurācijas failu, kas saucas nginx.conf. Tas jāatrodas vienā no šīm mapēm:
/usr/local/nginx/conf
/etc/nginx
/usr/local/etc/nginx
Šo failu var arī atrast, izmantojot šo komunu:
sudo find / -type f -iname "nginx.conf"
Kad atradīsiet failu, atveriet to ar:
sudo nano nginx.conf
Pēc tam nokopējiet un ielīmējiet vienu no servera blokiem 443 pvaitam, kas dots zemāk, un rediģējiet ceļus atbilstoši jūsu 80 pvaita servera blokam (ar sakrītošu servera vārdu, ceļu uz webroot un visām svarīgajām vērtībām). Alternatīvi, varat nokopēt servera bloku priekš 80 pvaita, tad ielīmēt to zemāk, izmainīt pvaitu un pievienot nepieciešamās SSL direktīvas.
Izvēlieties servera bloku:
Zemāk varat atrast servera bloku savai Nginx versijai.
Piezīme: Lai pārbaudītu savu Nginx versiju, izpildiet šo komunu:
sudo nginx -v

Piezīme: Aizvietojiet failu nosaukumu vērtības, piemēram, jūsu_domēns_chain.crt, servera blokā ar saviem datiem, un modificējiet ceļus, izmantojot/path/to/.
Servera bloks Nginx versijai 1.14 un zemāk:
server {
listen 443;
ssl on;
ssl_certificate /path/to/certificate/jūsu_domēns_chain.crt;
ssl_certificate_key /path/to/jūsu_private.key;
root /path/to/webroot;
server_name jūsu_domēns.com;
}
Piezīme: Var nvaiādīt vairākus domēnus tādā konfigurācijā, ja nepieciešams, piemēram:
server {
listen 443;
ssl on;
ssl_certificate /path/to/certificate/jūsu_domēns_chain.crt;
ssl_certificate_key /path/to/jūsu_private.key;
root /path/to/webroot;
server_name jūsu_domēns.com www.jūsu_domēns.your;
}
Servera bloks Nginx versijai 1.15 un augstāk:
server {
listen 443 ssl;
ssl_certificate /path/to/certificate/jūsu_domēns_chain.crt;
ssl_certificate_key /path/to/jūsu_private.key;
root /path/to/webroot;
server_name jūsu_domēns.com;
}
ssl_certificate jānvaiāda uz failu ar iepriekš apvienotajiem sertifikātiem, ko jūs izveidojāt.
{{G242}}ssl_certificate_key jānvaiāda uz privāto atslēgu, kas tika ģenerēta ar CSR kodu.
Šeit ir daži padomi, kā atrast privāto atslēgu Nginx.
Svarīgi: Lai gan tā būtu Multi-Domēns vai Wildcard sertifikāts, jums jāizveido atsevišķs servera bloks katram domēnam/pakdomēnam, kas iekļauts sertifikātā. Pārliecinieties, ka nvaiādāt attiecīgo domēnu/pakdomēnu un ceļus uz tiem pašiem sertifikātu failiem servera blokā, kā aprakstīts augstāk.
Kad attiecīgais servera bloks ir pievienots failam, saglabājiet izmaiņas. Tad varat dubultpārbaudīt veiktās izmaiņas, izmantojot šādus soļus.
Izpildiet šo komunu, lai pārbaudītu, vai konfigurācijas faila sintakse ir kārtībā:
sudo nginx -t

Ja saņemat kļūdas, rūpīgi pārbaudiet, vai esat pareizi sekojis vadlīnijām. Jūtieties brīvi sazināties ar mūsu Piebalsta komunu, ja jums ir jautājumi.
Tehniskais padoms: lai atrastu kļūdu žurnālus problēmu novēršanai, vienkārši izpildiet:
sudo nginx -T | grep 'errvai_log'
Ja neviens no minētajiem failiem neeksistē, faili ir komentēti vai ja nav nvaiādīti kļūdu žurnālu faili, jāpārbauda noklusējuma sistēmas žurnāls:
tail /var/log/nginx/errvai.log -n 20
Ja serveris parāda, ka tests ir veiksmīgs, pārstartējiet Nginx ar šo komunu, lai piemērotu izmaiņas:
sudo nginx -s reload
Tagad jūsu SSL sertifikāts ir instalēts. Jūs varat pārbaudīt instalāciju šeit.
Svarīgas piezīmes:
Dažkārt, pēc SSL faila instalēšanas, ko apvienoja, izmantojot komunrindu, jūs varat saņemt kļūdas ziņojumu 'Nginx/Apache errvai: 0906D066:PEM routines:PEM_read_bio:bad end line', šajā gadījumā risinājumu var atrast atsauču ceļvedī.
Vēl viena izplatīta problēma šajā posmā ir kļūda 'Nginx SSL: errvai:0B080074:x509 certificate routines: X509_check_private_key:key values mismatch', par to un iespējamajiem risinājumiem varat uzzināt vairāk šajā rakstā.
4. Konfigurēt HTTPS pāradresāciju
Mēs iesakām instalēt pāradresāciju no HTTP uz HTTPS. Tas nodrošinās, ka jūsu vietnes apmeklētāji var piekļūt tikai drošai jūsu vietnes versijai.
Lai to izdarītu, jāpievieno viena rinda konfigurācijas failam servera blokā priekš pvaita 80.
Padomi:
Jūs varat izmantot vienu no šīm komunām, lai atrastu pašreiz iespējojamos konfigurācijas failus:
sudo nginx -T | grep -iw "configuration file"
sudo nginx -T | grep -iw "include"
Nēklusējuma ceļi uz conf failu ir:
RHEL bāzētā Linux Operētājsistēma: /etc/nginx/conf.d/default.conf
Debian bāzētā Linux Operētājsistēma: /etc/nginx/sites-enabled/default
Jūs varat atvērt failus, lai pārbaudītu, kurā no tiem ir nepieciešamais servera bloks. Lai to izdarītu, izpildiet:
sudo nano name_of_the_file
Kad atradīsiet failu ar servera bloku priekš pvaita 80 (noklusētais HTTP pvaits), pievienojiet tajā sekojošo rindu:
return 301 https://$server_name$request_uri;
Piezīme: Iepriekš minētajai pāradresācijas noteikumam jābūt ievadītai kā pēdējai rindai servera blokā.