Консультация Oblako.kz

Установка SSL-сертификата на Nginx

SSL-сертификаты используются для обеспечения безопасного соединения между клиентом и сайтом.

Для того, чтобы установить имеющийся сертификат на веб-сервер Вами должен быть приобретен и закачан на сервер сам сертификат, ключевой файл и при наличии сертификаты промежуточных серверов (так называемая цепочка доверия). Также Nginx должен быть настроен на использование доменного имени.

В данной инструкции предполагается, что Nginx настроен на Centos 7. На других ОС установка сертификатов выполняется аналогично, только пути могут быть другие.

Найти где в системе установлен Nginx можно используя команду whereis <имя установленной службы>.

whereis nginx

Заказать сертификат можно у нас в разделе oblako.kz/ssl, после заказа необходимо скачать его из панели управления.обратите внимание что имя домена в сертификате должно совпадать с тем на которое настроен Nginx.

Объедините файлы сертификата Центра Сертификации (.CA) и сертификата вашего веб-сайта (.CRT) в один файл:

cat /etc/ssl/mydomain.ru_crt.crt /etc/ssl/mydomain.ru_ca.crt >> /etc/ssl/mydomain.pem

и поместите все полученные файлы по пути /etc/ssl.

Чтобы задействовать использование SSL впишите в файл /etc/nginx/nginx.conf нижеприведенные строки.


server{
listen 443 ssl http2 default_server;
listen [::]:443 ssl http2 default_server;
server_name mydomain.ru;
ssl_certificate /etc/ssl/mydomain.pem;
ssl_certificate_key /etc/ssl/private.key;
ssl on;
keepalive_timeout 70;
keepalive_requests 150;
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 10m;
}

После этого необходимо перезапустить Nginx.

systemctl restart nginx

После этого Ваш сайт будет доступен по https. Порт 443 должен быть открыт также как ранее был открыт порт 80.

Например при использовании в качестве firewall iptables достаточно ввести следующие команды.

iptables -I INPUT 5 -i eth0 -p tcp --dport 443 -m state --state NEW,ESTABLISHED -j ACCEPT iptables-save

На этом установка завершена.

Последнее обновление: 16.11.2018

Выберите SSL-сертификат,
ответив на 3 вопроса