Tämä artikkeli opastaa sinua SSL-varmenteesi asentamisessa Nginx-palvelimelle ja HTTP:// -osoitteen automaattisen uudelleenohjauksen määrittämisessä HTTPS:// -osoitteeseen.
1. Lataa varmenteet palvelimelle, jolle verkkosivustosi on isännöity
Kun olet sutaiittanut CSR-koodin generoinnin ja SSL:n aktivoinnin vaiheet, saat sähköpostitse zippitiedoston, joka sisältää Sectigon (entinen Comodo) varmenteet. Vaihtoehtoisesti voit ladata ne NiceNic-tilisi hallintapaneelista.
Huomautus: Jos valitset NGINX-palvelimen varmenteen aktivoinnin yhteydessä, saat zippitiedoston, joka sisältää varmenteen tiedoston '.crt'-päätteellä ja varmentajan (CA) kimpun tiedoston '.ca-bundle'-päätteellä.
Lataa molemmat tiedostot palvelimellesi haluamallasi tavalla. Esimerkiksi käyttämällä FTP-asiakasohjelmaa.
Voit myös ladata Bundle-tiedoston jokaiselle varmenteelle noudattamalla ohjeita täältä.
2. Yhdistä kaikki varmenteet yhdeksi tiedostoksi
Sinun tulee yhdistää kaikki varmenteet (sinun_verkkotunnus.crt ja sinun_verkkotunnus.ca-bundle) yhdeksi '.crt'-tiedostoksi.
Verkkotunnuksesi varmenteen tulee olla tiedoston alussa, jonka jälkeen seuraa varmenneketju (CA Bundle).
Siirry hakemistoon, johon latasit varmenteet. Sutaiita seuraava komento tiedostojen yhdistämiseksi:
$ cat sinun_verkkotunnus.crt sinun_verkkotunnus.ca-bundle >> sinun_verkkotunnus_chain.crt
Huomioithan, että jos varmenteet on ladattu NiceNic-tililtäsi, paras komento on:
$ cat sinun_verkkotunnus.crt > sinun_verkkotunnus_chain.crt ; echo >> sinun_verkkotunnus_chain.crt ; cat sinun_verkkotunnus.ca-bundle >> sinun_verkkotunnus_chain.crt
3. Luo erillinen Nginx-palvelinlohko tai muokkaa nykyistä määritystiedostoa
SSL-varmenteen asentamiseksi Nginxille sinun tulee määrittää palvelimelle, mitä tiedostoja käytetään, joko a) luomalla uusi määritystiedosto tai b) muokkaamalla olemassa olevaa.
a) Lisäämällä uusi määritystiedosto verkkosivustolle voit varmistaa, ettei erillisessä määritystiedostossa ole ongelmia. Lisäksi asennuksen vianmääritys on helpompaa uuden määrityksen tapauksessa.
Suosittelemme uuden määritystiedoston luomista tähän kansioon:
/etc/nginx/conf.d
Sen voi tehdä seuraavalla komennolla:
sudo nano /etc/nginx/conf.d/Your_verkkotunnus*-ssl.conf
Missä Your_verkkotunnus*-ssl.conf on aivan luotavan tiedoston nimi.
Seuraavaksi kopioi ja liitä jokin alla olevista palvelinlohkoista ptaitille 443 ja muokkaa hakemistopolkuja. Varmista, että palvelimen nimi ja webroot-polku vastaavat toisiaan ptaitin 80 ja ptaitin 443 palvelinlohkossa. Jos sinulla on muita tärkeitä tietoja, jotka on tallennettava, siirrä ne myös uuteen palvelinlohkoon.
b) Muokkaa web-palvelimen oletusmääritystiedostoa, joka on nimeltään nginx.conf. Sen pitäisi löytyä jostakin näistä kansioista:
/usr/local/nginx/conf
/etc/nginx
/usr/local/etc/nginx
Voit käyttää myös tätä komentoa sen löytämiseksi:
sudo find / -type f -iname "nginx.conf"
Kun löydät tiedoston, avaa se komennolla:
sudo nano nginx.conf
Sitten kopioi ja liitä jokin alla olevista ptaitin 443 palvelinlohkoista ja muokkaa hakemistopolkuja vastaamaan ptaitin 80 lohkoa (palvelimen nimi, webroot-polku ja muut tarvittavat arvot). Vaihtoehtoisesti voit kopioida ptaitin 80 lohkon, liittää sen alle, päivittää ptaitin ja lisätä tarvittavat SSL-ohjeet.
Valitse palvelinlohko:
Alta löydät palvelinlohkon Nginx-versiollesi.
Huomautus: Tarkistaaksesi Nginx-versiosi, sutaiita tämä komento:
sudo nginx -v

Huomautus: Ktaivaa palvelinlohkossa tiedostonimet, kuten sinun_verkkotunnus_chain.crt, omilla tiedoillasi ja muokkaa niiden polkuja käyttäen /path/to/.
Palvelinlohko Nginx-versiolle 1.14 ja sitä vanhemmille:
server {
listen 443;
ssl on;
ssl_certificate /path/to/certificate/sinun_verkkotunnus_chain.crt;
ssl_certificate_key /path/to/sinun_private.key;
root /path/to/webroot;
server_name sinun_verkkotunnus.com;
}
Huomautus: Voit määrittää useita isäntänimiä tällaisessa määrityksessä tarpeen mukaan, esimerkiksi:
server {
listen 443;
ssl on;
ssl_certificate /path/to/certificate/sinun_verkkotunnus_chain.crt;
ssl_certificate_key /path/to/sinun_private.key;
root /path/to/webroot;
server_name sinun_verkkotunnus.com www.sinun_verkkotunnus.com;
}
Palvelinlohko Nginx-versiolle 1.15 ja uudemmille:
server {
listen 443 ssl;
ssl_certificate /path/to/certificate/sinun_verkkotunnus_chain.crt;
ssl_certificate_key /path/to/sinun_private.key;
root /path/to/webroot;
server_name sinun_verkkotunnus.com;
}
ssl_certificate tulee osoittaa aiemmin luomaasi yhdistettyjen varmenteiden tiedostoon.
ssl_certificate_key tulee osoittaa Private Key -avaimeen, joka luotiin CSR-koodilla.
Tässä muutama vinkki Private Keyn löytämiseksi Nginxissä.
Tärkeää: Joko Multi-Verkkotunnus- tai Wildcard-varmenteen tapauksessa sinun tulee lisätä erillinen palvelinlohko jokaiselle varmenteessa määritellylle verkkotunnusille/aliverkkotunnusille. Varmista, että määrität kyseisen verkkotunnusin/aliverkkotunnusin sekä polut samoihin varmenteiden tiedostoihin palvelinlohkossa kuten yllä on kuvattu.
Kun vastaava palvelinlohko on lisätty tiedostoon, varmista, että muutokset tallennetaan. Tämän jälkeen voit tarkistaa muutokset seuraavilla vaiheilla.
Sutaiita tämä komento tarkistaaksesi, että määritystiedoston syntaksi on oikein:
sudo nginx -t

Jos saat virheilmoituksia, tarkista, että olet seurannut ohjetta oikein. Ota rohkeasti yhteyttä tukitiimiimme, jos sinulla on kysyttävää.
Vinkki: virhelokeja vianmääritystä varten löydät sutaiittamalla:
sudo nginx -T | grep 'errtai_log'
Jos mitään mainittuja tiedostoja ei ole, ne on kommentoitu pois tai virhelokitiedostoja ei ole määritetty, tarkista järjestelmän oletuslokitiedosto:
tail /var/log/nginx/errtai.log -n 20
Jos testi onnistuu, käynnistä Nginx uudelleen tällä komennolla muutosten voimaantulon varmistamiseksi:
sudo nginx -s reload
Nyt SSL-varmenteesi on asennettu. Voit tarkistaa asennuksen täältä.
Tärkeitä huomioita:
Joskus, kun olet asentanut komennolla yhdistetyn SSL-tiedoston, saatat saada 'Nginx/Apache -virheen: 0906D066:PEM routines:PEM_read_bio:bad end line'. Tässä tapauksessa ohjeet ktaijaukseen löytyvät viiteoppaasta.
Ostainen yleinen ongelma tässä vaiheessa on 'Nginx SSL: errtai:0B080074:x509 certificate routines: X509_check_private_key:key values mismatch' -virheilmoitus. Saat lisää tietoa tästä ja mahdollisista ktaijaustavoista tässä artikkelissa.
4. Konfiguroi HTTPS-uudelleenohjaus
Suosittelemme määrittämään uudelleenohjauksen HTTP:stä HTTPS:ään. Näin sivustosi kävijät pääsevät ainoastaan sivustosi turvalliseen versioon.
Tätä varten sinun tulee lisätä yksi rivi määrittelytiedostoon palvelinlohkoon, joka kuuntelee ptaittia 80.
Vinkkejä:
Voit käyttää jompaakumpaa seuraavista komennoista nykyisten määritystiedostojen etsimiseen:
sudo nginx -T | grep -iw "configuration file"
sudo nginx -T | grep -iw "include"
Oletuspolut konfiguraatiotiedostolle ovat:
RHEL-pohjaisissa Linux-järjestelmissä: /etc/nginx/conf.d/default.conf
Debian-pohjaisissa Linux-järjestelmissä: /etc/nginx/sites-enabled/default
Voit avata tiedostot tarkistaaksesi, missä on tarvittava palvelinlohko. Sutaiita tämä:
sudo nano name_of_the_file
Kun löydät tiedoston, joka sisältää ptaitin 80 palvelinlohkon (HTTP:n oletusptaitti), lisää seuraava rivi:
return 301 https://$server_name$request_uri;
Huomautus: Edellä mainittu uudelleenohjausmääräys tulee sijoittaa palvelinlohkon viimeiseksi riviksi.