Понадобилось к одному из сайтов прикрутить ssl
Напомню, что nginx у меня выступает как фронт-энд к Apache2
чтоб в дальнейшем было меньше проблем, при отказе от apache2 доверим шифрование nginx
Для этого создаём конфигурационный файл
touch /etc/nginx/ssl.confCode language: Bash (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;Code language: Bash (bash)
Создадим папку где будем хранить сертификаты:
mkdir /etc/nginx/sslCode language: Bash (bash)
Для большей безопасности ограничиваем доступ к сертификатам:
chown www-data:www-data /etc/nginx/ssl
chmod 700 /etc/nginx/sslCode language: Bash (bash)
Перейдем в эту папку и с генерируем сертификат:
cd /etc/nginx/ssl
openssl req -new -x509 -days 9999 -nodes -out cert.pem -keyout cert.keyCode language: Bash (bash)
При генерации вас попросят указать некоторые данные, заполнять не обязательно но желательно.
Теперь добавим в конфигурацию Виртального хоста в секцию server
listen 443; # порт https
include /etc/nginx/ssl.conf; # подключение конфигурации sslCode language: Bash (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;
.............
............
..........Code language: Bash (bash)
проверяем
nginx -tCode language: Bash (bash)
Если всё Ok то перезапускаем nginx и радуемся
Добавить комментарий