Bevezetés
Intro
Bevezetés
Az SSL (a Secure Sockets Layer rövidítése ) és utódja, a TLS (a Transport Layer Security rövidítése ) az interneten keresztüli biztonságos kommunikáció kriptográfiai protokollja. Használható biztonságos kapcsolat létrehozására egy webhelyhez.
Intro
Győződjön meg arról, hogy az Nginx és az OpenSSL telepítve van a kiszolgálón. Ebben a cikkben a folyamatot egy önaláírt SSL-tanúsítvány létrehozásával mutatjuk be.
1. lépés: Hozzon létre egy könyvtárat a tanúsítvány és a privát kulcs számára
Létrehozunk egy könyvtárat (és beírjuk) az /etc/nginx mappába (feltételezve, hogy a könyvtár az Nginx konfigurációs könyvtára), a következőképpen:
sudo mkdir /etc/nginx/ssl
cd /etc/nginx/ssl # we'll perform our next few steps in this dir
2. lépés: Hozzon létre privát kulcsot és CSR-t
Kezdjük a webhely privát kulcsának létrehozásával. Ebben a példában 4096 bites kulcsot használunk a nagyobb biztonság érdekében. Vegye figyelembe, hogy a 2048 bites is biztonságos, de NE HASZNÁLJON 1024 BITES MAGÁNKULCSOT!
sudo openssl genrsa -out example.com.key 4096
Most hozzon létre egy tanúsítvány aláírási kérelmet (CSR) a tanúsítvány aláírásához. 512 bites SHA-2-t fogunk használni. Jegyezze fel a -sha512lehetőséget.
sudo openssl req -new -key example.com.key -out example.com.csr -sha512
Megjelenik a kitöltendő mezők listája. Győződjön meg róla Common Name, hogy a domain neve van beállítva! Továbbá, hagyja A challenge password, és An optional company nameüresen.
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]:US
State or Province Name (full name) [Some-State]:CA
Locality Name (eg, city) []:LosAngeles
Organization Name (eg, company) [Internet Widgits Pty Ltd]:Example Inc
Organizational Unit Name (eg, section) []:Security
Common Name (e.g. server FQDN or YOUR name) []:*.example.com
Email Address []:webmaster@example.com
Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:
3. lépés: Írja alá a tanúsítványt
Majdnem kész! Most már csak alá kell írnunk. Ne felejtse el kicserélni a 365-öt (365 nap után lejár) a kívánt számú napra.
sudo openssl x509 -req -days 365 -in example.com.csr -signkey example.com.key -out example.com.crt -sha512
Ezzel befejeztük az önaláírt tanúsítvány elkészítését.
4. lépés: Állítsa be
Nyissa meg az Nginx példa SSL konfigurációs fájlját:
sudo nano /etc/nginx/conf.d/example_ssl.conf
Törölje a megjegyzést a HTTPS-kiszolgáló sor alatti szakaszban . Párosítsa a konfigurációt az alábbi adatokkal, és cserélje example.comki a server_namesorban a domain nevére vagy IP-címére. Állítsa be a gyökérkönyvtárat is.
# HTTPS server
server {
listen 443 ssl;
server_name example.com;
ssl_certificate /etc/nginx/ssl/example.com.crt;
ssl_certificate_key /etc/nginx/ssl/example.com.key;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
ssl_ecdh_curve secp384r1;
ssl_ciphers ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES256-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA:!aNULL:!eNULL:!EXPORT:!DES:!3DES:!MD5:!PSK:!RC4; # no RC4 and known insecure cipher
location / {
root /usr/share/nginx/html;
index index.html index.htm;
}
}
Ezután indítsa újra az Nginx-et.
service nginx restart
Most keresse fel webhelyét egy httpscímmel ( https://your.address.tld). A webböngésző biztonságos kapcsolatot mutat az önaláírt tanúsítvány használatával.