Я создал сертификат SSL с помощью Let's Encrypt
и сейчас пытаюсь настроить его с помощью NginX. NginX потребляет мой конфиг, перезапускает и хорошо обрабатывает HTTP, но отказывается от HTTPS-соединения.
Кроме того, на моем сервере нет брандмауэра. Я проверил порт 443 с netstat -peanut | grep ":443 "
и NMap, с ним проблем нет.
У меня есть следующие файлы SSL:
ca bundle.crt
, 27 строк, начинается с -----BEGIN CERTIFICATE-----
ca.crt
, 35 строк, начинается с -----BEGIN CERTIFICATE-----
private_rsa.key
, 27 строк, начинается с -----BEGIN RSA PRIVATE KEY-----
private.key
, 28 строк, начинается с -----BEGIN PRIVATE KEY-----
Я не знаю, какие из них важны, поэтому я попробовал все комбинации, но ничего не работает Вот мой конфиг NginX:
server {
listen 80;
listen 443 ssl;
server_name domain.ru www.domain.ru;
ssl_certificate /var/www/SSL/ca.crt;
ssl_certificate_key /var/www/SSL/private.key;
access_log /var/www/Ret/Returner/logs/nginx.access.log;
error_log /var/www/Ret/Returner/logs/nginx.error.log;
proxy_read_timeout 950s;
location = /favicon.ico { access_log off; log_not_found off; }
location /static/ {
root /var/www/Ret/Returner/;
}
location / {
proxy_pass http://127.0.0.1:5000;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header X-Real-Ip $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
}
}
Как решить проблему?
Моя ОС - Ubuntu 16.04. Версия NginX: 1.10.3 построена с OpenSSL 1.0.2g, включена поддержка TLS SNI.
Update.
Для генерации сертификатов я использовал 2 разных подхода:
Использование www.sslforfree.com с одобрением владения DNS.
Использование следующих команд OpenSSL:
openssl genrsa 4096 > /var/www/Ret/account.key
openssl rsa -in /var/www/Ret/account.key -pubout
К сожалению, оба набора файлов сертификатов не работают.