Увод
Интро
Увод
ССЛ (скраћеница од Сецуре Соцкетс Лаиер ) и његов наследник, ТЛС (скраћеница за Транспорт Лаиер Сецурити ) су криптографски протоколи за безбедну комуникацију преко Интернета. Може се користити за стварање безбедне везе са веб локацијом.
Интро
Уверите се да су Нгинк и ОпенССЛ инсталирани на вашем серверу. У овом чланку ћемо демонстрирати процес генерисањем самопотписаног ССЛ сертификата.
Корак 1: Креирајте директоријум за сертификат и приватни кључ
Направићемо директоријум (и унети га) унутар /етц/нгинк (под претпоставком да је директоријум Нгинк-ов конфигурациони директоријум), тако што ћемо:
sudo mkdir /etc/nginx/ssl
cd /etc/nginx/ssl # we'll perform our next few steps in this dir
Корак 2: Креирајте приватни кључ и ЦСР
Почнимо са креирањем приватног кључа сајта. У овом примеру користићемо 4096-битни кључ за већу сигурност. Имајте на уму да је 2048-битни такође сигуран, али НЕМОЈТЕ КОРИСТИТИ 1024-БИТНИ ПРИВАТНИ КЉУЧ!
sudo openssl genrsa -out example.com.key 4096
Сада креирајте захтев за потписивање сертификата (ЦСР) за потписивање сертификата. Користићемо 512-битни СХА-2. Обратите пажњу на -sha512опцију.
sudo openssl req -new -key example.com.key -out example.com.csr -sha512
То ће затражити листу поља која треба попунити. Уверите се да Common Nameје подешено на име вашег домена! Такође, оставите A challenge passwordи An optional company nameпразно.
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: Потпишите свој сертификат
Скоро завршено! Сада само треба да потпишемо. Не заборавите да замените 365 (истиче после 365 дана) на број дана који желите.
sudo openssl x509 -req -days 365 -in example.com.csr -signkey example.com.key -out example.com.crt -sha512
Сада смо завршили са прављењем самопотписаног сертификата.
Корак 4: Поставите
Отворите Нгинк-ов пример ССЛ конфигурационе датотеке:
sudo nano /etc/nginx/conf.d/example_ssl.conf
Уклоните коментар у одељку испод реда ХТТПС сервер . Ускладите своју конфигурацију са информацијама у наставку, замењујући example.comу server_nameреду са именом вашег домена или ИП адресом. Такође поставите свој основни директоријум.
# 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;
}
}
Затим поново покрените Нгинк.
service nginx restart
Сада посетите своју веб локацију са httpsадресом ( https://your.address.tld). Ваш веб претраживач ће приказати безбедну везу помоћу вашег самопотписаног сертификата.