Дружим nginx + ssl

Понадобилось к одному из сайтов прикрутить ssl
Напомню, что nginx у меня выступает как фронт-энд к Apache2
чтоб в дальнейшем было меньше проблем, при отказе от apache2 доверим шифрование nginx

Для этого создаём конфигурационный файл

[cc lang=”bash”]touch /etc/nginx/ssl.conf[/cc]

Добавляем в него содержимое
[cc lang=”bash”]# Подключение самоподписанного сертификата
# генерация сертификата:
# openssl req -new -x509 -days 9999 -nodes -out cert.pem -keyout cert.key

ssl on;
ssl_protocols SSLv3 TLSv1;
ssl_certificate /etc/nginx/ssl/cert.pem;
ssl_certificate_key /etc/nginx/ssl/cert.key;
[/cc]

Создадим папку где будем хранить сертификаты:

[cc lang=”bash”]mkdir /etc/nginx/ssl[/cc]

Для большей безопасности ограничиваем доступ к сертификатам:

[cc lang=”bash”]chown www-data:www-data /etc/nginx/ssl
chmod 700 /etc/nginx/ssl[/cc]

Перейдем в эту папку и с генерируем сертификат:

[cc lang=”bash”]cd /etc/nginx/ssl
openssl req -new -x509 -days 9999 -nodes -out cert.pem -keyout cert.key[/cc]

При генерации вас попросят указать некоторые данные, заполнять не обязательно но желательно.

Теперь добавим в конфигурацию Виртального хоста в секцию server

[cc lang=”bash”] listen 443; # порт https
include /etc/nginx/ssl.conf; # подключение конфигурации ssl[/cc]

Дальше для примера привожу итоговый вариант файла конфигурации.
[cc lang=”bash”]
server {
listen 80;
listen 443;
server_name domen.ru www.domen.ru;
include /etc/nginx/ssl.conf; # подключение конфигурации ssl

access_log /var/log/nginx/domen.ru/access.log;

location / {
proxy_pass http://127.0.0.1:8086/;
proxy_redirect off;
proxy_set_header Host $host;
………….
…………
……….[/cc]

проверяем
[cc lang=”bash”]nginx -t[/cc]

Если всё Ok то перезапускаем nginx и радуемся

  1. Спасибо за статью. Правда, еще можно немного добавить команд по генерации csr,key и crt в разных ситуациях (на лету без вопросом, с готовым ключом, с ключом без пароля, и тп.), как пишут здесь – http://sysadm.pp.ua/internet/pound-apache-nginx-ssl-setup.html

  2. Я использовал отличную статью по покупке и настройке https на nginx
    Полная инструкция по настройке HTTPS с оценкой А+

Оставить комментарий


Примечание - Вы можете использовать эти HTML tags and attributes:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>