Estou tentando configurar um servidor NGINX como proxy reverso para possibilitar a conexão via TLS 1.2 a um servidor IIS antigo limitado ao TLS 1.0
A conexão na porta 80 funciona bem. Mas eu recebo 502 Bad Gateway
quando tento conectar por https. Quando olho para os logs de erro do NGINX, vejo esta linha ...
*364 peer closed connection in SSL handshake while SSL handshaking to upstream
Abaixo está a configuração que tenho para o proxy reverso. (Observação, URL do site e IP público alterados para preservar o anonimato)
server{
listen 80;
listen [::]:80;
server_name www.mywebsite.com;
location /{
proxy_set_header Host "www.mywebsite.com";
proxy_pass http://192.168.201.235:80/;
}
}
server {
listen 443 ssl http2 default_server;
listen [::]:443 ssl http2 default_server;
server_name www.mywebsite.com;
ssl_certificate "/etc/pki/nginx/mywebsite.crt";
ssl_certificate_key "/etc/pki/nginx/private/mywebsite.key";
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 10m;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
location / {
proxy_set_header Host "www.mywebsite.com";
proxy_pass https://192.168.201.235:443/;
}
}
Existe algo que eu possa fazer para resolver o problema do gateway incorreto enquanto ainda estiver conectado com segurança entre o proxy e o servidor de destino?
Eu posso me conectar ao endereço IP diretamente por HTTPS e, se eu colocar outro site habilitado para SSL, proxy_pass
ele também funcionará.
Eu tentei procurar uma resposta para isso no google, mas nenhum dos hits é semelhante o suficiente à minha situação para ser útil.
A configuração
proxy_ssl_protocols
parece controlar a conexão entre o nginx e o servidor upstream (Windows Server 2003 no seu caso),https://docs.nginx.com/nginx/admin-guide/security-controls/securing-http-traffic-upstream/
Sua configuração padrão hoje pode bloquear o TLS 1.0, então você precisa definir
proxy_ssl_protocols TLSv1;
para habilitar o TLS 1.0.