Прикручиваем самоподписанный SSL на nginx

SSL + Nginx

Итак, понадобилось мне тут подключить самоподписанный SSL на свой сайт, вот решил и с вами поделиться как это можно сделать, если у вас не Apache, а Nginx. Уточню лишь только то, что у меня в качестве сервера – CentOS 7.

Генерируем SSL сертификат

Выполним несколько комманд:

mkdir /www/ssl
cd /www/ssl
# генерируем сертификаты
openssl req -new -x509 -days 3650 -nodes -out 100.org.ua.pem -keyout 100.org.ua.key
# ставим правильные права
chown -R nginx:nginx /www/ssl
chmod -R 700 /www/ssl

Настраиваем NGINX для поддержки SSL на 443 порту

Для этого нам надо отредактировать хост файл нашего сайта, в моем случае это /etc/nginx/conf.d/100.org.ua.conf:

nano /etc/nginx/conf.d/100.org.ua.conf

Должно выйти что-то в этом роде:

server {
  listen                     80;
  listen                     443 ssl;
  server_name                100.org.ua *.100.org.ua;
  ssl_certificate            /www/ssl/100.org.ua.pem;
  ssl_certificate_key        /www/ssl/100.org.ua.key;
  ssl_protocols              SSLv3 TLSv1 TLSv1.1 TLSv1.2;
  ssl_ciphers                HIGH:!aNULL:!MD5;
  ssl_prefer_server_ciphers  on;
  ...
}

Не забываем также добавить правило на 443 порт в ваш фаерволл, в моем случае это firewalld:

firewall-cmd --permanent --add-port=443/tcp

Перезагружаем Nginx

nginx -s stop
systemctl start nginx

На этом вроде бы и всё. Всем удачных экспериментов!

Leave a Reply