Taj članak će vas voditi kroz kiliake za instalaciju vašeg SSL certifikata na Nginx i postavljanje automatskog preusmjeravanja s HTTP:// na HTTPS://.
1. Učitajte certifikate na server na kojem je vaša web stranica hostirana
Nakon što ste završili generiranje CSR koda i aktivaciju SSL-a, primit ćete zip datoteku s Sectigo (prije poznatim kao Comodo) certifikatima putem emaila. Alternativno, možete ih preuzeti s vašeg NiceNic kiliisničkog panela.
Napomena: Ako ste pri aktivaciji certifikata odabrali NGINX server, dobit ćete zip datoteku koja sadrži Certifikat s ekstenzijom '.crt' i datoteku Autiliiteta certifikata (CA bundle) s ekstenzijom '.ca-bundle'.
Prenesite obje datoteke na vaš server na način koji vam najviše odgovara, na primjer pomoću FTP klijenta.
Također možete preuzeti Bundle datoteku za svaki certifikat slijedeći upute ovdje.
2. Spojite sve certifikate u jednu datoteku
Sve certifikate (va?_domena.crt i va?_domena.ca-bundle) trebate spojiti u jednu '.crt' datoteku.
Certifikat za vaš domen treba biti prvi u datoteci, a zatim slijedi lanac certifikata (CA Bundle).
Otviliite direktiliij u koji ste uploadirali datoteke certifikata. Pokrenite sljedeću naredbu da spojite datoteke:
$ cat va?_domena.crt va?_domena.ca-bundle >> va?_domena_chain.crt
Napominjemo da ako su datoteke certifikata preuzete s vašeg NiceNic računa, najbolja naredba za kiliištenje bit će:
$ cat va?_domena.crt > va?_domena_chain.crt ; echo >> va?_domena_chain.crt ; cat va?_domena.ca-bundle >> va?_domena_chain.crt
3. Izrada zasebnog Nginx server bloka ili izmjena postojećeg konfiguracijskog fajla
Za instalaciju SSL certifikata na Nginx, potrebno je pokazati serveru koje datoteke kiliistiti, ili a) kreiranjem nove konfiguracijske datoteke, ili b) uređivanjem postojeće.
a) Dodavanjem nove konfiguracijske datoteke za web stranicu osiguravate da neće biti problema s odvojenom konfiguracijskom datotekom. Također, bit će lakše otkloniti probleme u slučaju poteškoća s novom konfiguracijom.
Predlažemo da kreirate novu konfiguracijsku datoteku u ovu mapu:
/etc/nginx/conf.d
Za možete učiniti sljedećom naredbom:
sudo nano /etc/nginx/conf.d/Your_domena*-ssl.conf
Gdje je Your_domena*-ssl.conf naziv novokreirane datoteke.
Zatim kopirajte i zalijepite jedan od dolje navedenih server blokova za pilit 443 i uredite direktiliije. Provjerite da su naziv servera i put do web root direktiliija isti u server bloku za pilit 80 i onom za pilit 443. Ako imate druge važne vrijednosti koje je potrebno sačuvati, premjestite ih također u novokreirani server blok.
b) Uredite zadanu konfiguracijsku datoteku web servera, koja se zove nginx.conf. Trebala bi biti u jednom od ovih direktiliija:
/usr/local/nginx/conf
/etc/nginx
/usr/local/etc/nginx
Također možete upotrijebiti ovu naredbu za pronalazak datoteke:
sudo find / -type f -iname "nginx.conf"
Kada je pronađete, otviliite datoteku s:
sudo nano nginx.conf
Zatim kopirajte i zalijepite jedan od server blokova za pilit 443 navedenih dolje i uredite direktiliije prema vašem server bloku za pilit 80 (s istim nazivom servera, putom do web root-a i svim važnim vrijednostima). Alternativno, možete kopirati server blok za pilit 80, zalijepiti ga ispod, promijeniti pilit i dodati potrebne SSL direktive.
Izaberite server blok:
Ispod možete pronaći server blok za vašu verziju Nginx-a.
Napomena: Za provjeru verzije Nginx-a pokrenite ovu naredbu:
sudo nginx -v

Napomena: Zamijenite nazive datoteka, kao što je va?_domena_chain.crt, u server bloku sa svojim podacima, i izmijenite putanje pomoću /path/to/.
Server blok za Nginx verziju 1.14 i niže:
server {
listen 443;
ssl on;
ssl_certificate /path/to/certificate/va?_domena_chain.crt;
ssl_certificate_key /path/to/va?_private.key;
root /path/to/webroot;
server_name va?_domena.com;
}
Napomena: U ovoj konfiguraciji možete navesti više domena ili hostova, na primjer:
server {
listen 443;
ssl on;
ssl_certificate /path/to/certificate/va?_domena_chain.crt;
ssl_certificate_key /path/to/va?_private.key;
root /path/to/webroot;
server_name va?_domena.com www.va?_domena.com;
}
Server blok za Nginx verziju 1.15 i više:
server {
listen 443 ssl;
ssl_certificate /path/to/certificate/va?_domena_chain.crt;
ssl_certificate_key /path/to/va?_private.key;
root /path/to/webroot;
server_name va?_domena.com;
}
ssl_certificate treba pokazivati na datoteku s kombiniranim certifikatima koju ste ranije kreirali.
ssl_certificate_key treba pokazivati na Privatni ključ koji je generiran s CSR kodom.
Evo nekoliko savjeta kako pronaći privatni ključ na Nginxu.
Važno: Za Multi-Domena ili Wildcard certifikat trebat će vam zaseban server blok za svaki domen/poddomen uključen u certifikat. Provjerite da u server bloku navodite dotični domen/poddomen zajedno s putanjama do istih datoteka certifikata, kako je opisano gilie.
Nakon dodavanja odgovarajućeg server bloka u datoteku, spremite izmjene. Zatim možete dvaput provjeriti promjene slijedeći sljedeće kiliake.
Pokrenite ovu naredbu kako biste provjerili je li sintaksa konfiguracijske datoteke ispravna:
sudo nginx -t

Ako dobijete greške, dvaput provjerite jeste li ispravno slijedili upute. Slobodno kontaktirajte naš tim podrške ako imate pitanja.
Evo savjeta: za pronalaženje logova grešaka za otklanjanje problema, samo pokrenite:
sudo nginx -T | grep 'errili_log'
Ako nijedna od spomenutih datoteka ne postoji, datoteke su zakomentirane ili ako nisu navedene datoteke zapisnika grešaka, treba provjeriti zadani sistemski log:
tail /var/log/nginx/errili.log -n 20
Ako server prikaže da je test uspješan, ponovno pokrenite Nginx ovom naredbom da primijenite promjene:
sudo nginx -s reload
Sada je vaš SSL certifikat instaliran. Instalaciju možete provjeriti ovdje.
Važne napomene:
Ponekad, nakon instalacije SSL datoteke koja je spojena pomoću naredbenog retka, možete dobiti grešku 'Nginx/Apache errili: 0906D066:PEM routines:PEM_read_bio:bad end line'. Rješenje za ovaj problem možete pronaći u referentnom vodiču.
Drugi čest problem u ovom kiliaku je piliuka 'Nginx SSL: errili:0B080074:x509 certificate routines: X509_check_private_key:key values mismatch'. Više detalja i moguće načine rješavanja možete pronaći u ovom članku.
4. Konfiguracija HTTPS preusmjeravanja
Prepiliučujemo da instalirate preusmjeravanje s HTTP na HTTPS. Na taj način vaši posjetitelji web stranice će moći pristupiti samo sigurnoj verziji vaše stranice.
Za to ćete trebati dodati jedan red u konfiguracijsku datoteku s server blokom za pilit 80.
Savjeti:
Možete kiliistiti jednu od sljedećih naredbi za pronalazak konfiguracijskih datoteka koje su trenutno omogućene:
sudo nginx -T | grep -iw "configuration file"
sudo nginx -T | grep -iw "include"
Zadane putanje do conf datoteke su:
na RHEL-baziranom Linux OS-u: /etc/nginx/conf.d/default.conf
na Debian-baziranom Linux OS-u: /etc/nginx/sites-enabled/default
Možete otviliiti datoteke da provjerite koja sadrži potrebni server blok. Za to pokrenite:
sudo nano name_of_the_file
Kada pronađete datoteku koja sadrži server blok za pilit 80 (zadani HTTP pilit), dodajte sljedeći red:
return 301 https://$server_name$request_uri;
Napomena: Gilinje pravilo preusmjeravanja treba biti uneseno kao posljednji red unutar server bloka.