Всем привет!
Помогите настроить конфиг для Nginx-балансировщика.
Структура у меня такая: есть основной сервер (IIS) с IP-адресом xxx.xxx.xxx.xxx с небольшой нагрузкой, на нём установлены все необходимые сертификаты. И есть ещё дополнительные серверы (NodeJs) yyy.yyy.yyy.yyy и zzz.zzz.zzz.zzz, отрабатывающие некую backend-логику.
Запросы между ними распределяет nginx-балансировщик.
Проблема в том, что сайт, расположенный на ip-адресе xxx.xxx.xxx.xxx не открывается по
httpS://domain.name
Но зато он открывается по
https://xxx.xxx.xxx.xxx (ругается, конечно, на то, что сертификат не соответстует доменному имени, но это в данном случае нормально).
Очевидно, что проблема в конфиге nginx, вот её я не могу победить.
Помогите настроить.
Вот полный конфиг файла /etc/nginx/sites-available/default :
server {
listen 80 default_server;
listen [::]:80 default_server;
# SSL configuration
#
listen 443 ssl;# default_server;
# listen [::]:443 ssl default_server;
server_name my_site.com;
#/etc/letsencrypt/live/my_site.com/
ssl_certificate /etc/letsencrypt/live/my_site.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/my_site.com/privkey.pem;
ssl_trusted_certificate /etc/letsencrypt/live/my_site.com/chain.pem;
proxy_ssl_certificate /etc/letsencrypt/live/my_site.com/fullchain.pem;
proxy_ssl_certificate_key /etc/letsencrypt/live/my_site.com/privkey.pem;
proxy_ssl_trusted_certificate /etc/letsencrypt/live/my_site.com/chain.pem;
proxy_ssl_verify on;
proxy_ssl_verify_depth 2;
proxy_ssl_session_reuse on;
location ~ upload|put|get$ {
proxy_pass http://backend;
}
location / {
proxy_set_header HOST $host;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass https://static_server;
proxy_ssl_server_name on;
}
}
upstream backend {
server yyy.yyy.yyy.yyy;
server zzz.zzz.zzz.zzz;
}
upstream static_server {
server xxx.xxx.xxx.xxx;
}
в логах error.log такая ошибка:
*3 SSL_do_handshake() failed (SSL: error:140770FC:SSL routines:SSL23_GET_SERVER_HELLO:unknown protocol) while SSL handshaking to upstream, client: iii.iii.iii.iii, server: _, $2
До этого на http всё балансировалось правильно.