Prezantimi
Hyrje
Prezantimi
SSL (që qëndron për Secure Sockets Layer ) dhe pasardhësi i tij, TLS (që qëndron për Transport Layer Security ) janë protokolle kriptografike për të siguruar komunikimin përmes internetit. Mund të përdoret për të krijuar një lidhje të sigurt me një faqe interneti.
Hyrje
Sigurohuni që Nginx dhe OpenSSL janë instaluar në serverin tuaj. Në këtë artikull, ne do të demonstrojmë procesin duke gjeneruar një certifikatë SSL të vetë-nënshkruar.
Hapi 1: Krijoni një direktori për certifikatën dhe çelësin privat
Ne do të krijojmë një drejtori (dhe do ta futim atë) brenda /etc/nginx (duke supozuar se drejtoria është drejtoria e konfigurimit të Nginx), duke:
sudo mkdir /etc/nginx/ssl
cd /etc/nginx/ssl # we'll perform our next few steps in this dir
Hapi 2: Krijoni çelësin privat dhe CSR
Le të fillojmë duke krijuar çelësin privat të faqes. Në këtë shembull, ne do të përdorim çelësin 4096-bit për siguri më të fortë. Vini re se 2048-biti është gjithashtu i sigurt, por MOS PËRDOR NJË ÇELËS PRIVAT 1024-BIT!
sudo openssl genrsa -out example.com.key 4096
Tani, krijoni një kërkesë për nënshkrimin e certifikatës (CSR) për nënshkrimin e certifikatës. Ne do të përdorim 512-bit SHA-2. Vini re -sha512opsionin.
sudo openssl req -new -key example.com.key -out example.com.csr -sha512
Ai do të nxisë një listë të fushave që duhet të plotësohen. Sigurohuni që të Common Namejetë vendosur në emrin e domenit tuaj! Gjithashtu, lini A challenge passworddhe An optional company namebosh.
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 []:
Hapi 3: Nënshkruani certifikatën tuaj
Pothuajse mbarova! Tani na mbetet vetëm ta nënshkruajmë. Mos harroni të zëvendësoni 365 (skadon pas 365 ditësh) me numrin e ditëve që do të preferonit.
sudo openssl x509 -req -days 365 -in example.com.csr -signkey example.com.key -out example.com.crt -sha512
Tani, ne kemi përfunduar duke bërë një certifikatë të vetë-nënshkruar.
Hapi 4: Konfiguro
Hapni shembullin e skedarit të konfigurimit SSL të Nginx:
sudo nano /etc/nginx/conf.d/example_ssl.conf
Zhkomentoni brenda seksionit nën rreshtin Serveri HTTPS . Përputhni konfigurimin tuaj me informacionin e mëposhtëm, duke zëvendësuar atë example.comnë server_namelinjë me emrin e domenit ose adresën tuaj IP. Vendosni gjithashtu direktorinë tuaj rrënjësore.
# 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;
}
}
Pastaj rinisni Nginx.
service nginx restart
Tani, vizitoni faqen tuaj të internetit me një httpsadresë ( https://your.address.tld). Shfletuesi juaj i internetit do të shfaqë një lidhje të sigurt duke përdorur certifikatën tuaj të vetë-nënshkruar.