
У меня есть сайт, на котором я пытаюсь заставить работать SSL. Это мой первый опыт.
Конфигурация моего сервера выглядит примерно так:
server {
listen 80 ssl;
server_name {site_name};
include /etc/nginx/include.d/ssl-common;
location / {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header Host $http_host;
proxy_pass https://{my_server_ip}:8001;
}
}
где файл ssl-common выглядит так:
ssl_certificate /etc/nginx/ssl/server.crt;
ssl_certificate_key /etc/nginx/ssl/server.key;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers ECDHE-RSA-AES128-SHA256:AES128-GCM-SHA256:RC4:HIGH:!MD5:!aNULL:!EDH;
ssl_prefer_server_ciphers on;
Сертификат самоподписанный (в этом ли проблема?).
Когда я захожу на свою веб-страницу, я получаю сообщение connection_refused. В журналах nginx никаких ошибок не отображается.
Спасибо
решение1
listen 80 ssl;
Порт 80 — для HTTP. Порт 443 — для HTTPS. Это должно быть похоже на:
listen 80;
listen 443 ssl;
В таком случае ваш браузер, вероятно, пытается установить соединение с портом 443, как и должно быть. Поскольку Nginx ошибочно прослушивает порт 80, соединение отклоняется.