
Estou tentando configurar um proxy reverso e me deparei com um erro estranho: quando redireciono o usuário, tudo funciona bem, mas quando uso proxy_pass (como preciso), recebo um "502 Bad Gateway error".
Código:
server { #banca empresas HTTP
listen 80;
server_name emp.baiq.pt www.emp.baiq.pt;
rewrite ^ https://$server_name$request_uri? permanent;
}
server { #banca empresas HTTPS
listen 443;
server_tokens off;
server_name emp.baiq.pt www.emp.baiq.pt;
add_header X-Frame-Options SAMEORIGIN;
add_header X-Content-Type-Options nosniff;
add_header X-XSS-Protection "1; mode=block";
ssl_certificate /etc/nginx/certs/*.baiteste.pt.crt;
ssl_certificate_key /etc/nginx/certs/*.baiteste.pt.key;
location / {
#proxy_pass http://192.168.1.78:8081/login.htm?origin=E;
return 301 http://192.168.1.78:8081/login.htm?origin=E;
}
#error_page 500 502 503 504 /maintenance_page/index.html;
location = /maintenance_page/index.html {
root html;
}
location = /favicon.ico {
log_not_found off;
}
access_log /var/log/nginx/emp.baiq.pt.access.log;
}
Depois de capturar o tráfego, descobri que o peer, após a conclusão do handshake de 3 vias, fecha imediatamente a conexão ao receber a solicitação http.
Então, o que poderia estar causando esse erro?
Arquivo de registro de erros
2019/07/24 08:25:40 [error] 24506#24506: *2 recv() failed (104: Connection reset by peer) while reading response header from upstream, client: x.x.x.x, server: mydomain.com, request: "GET / HTTP/1.1", upstream: "http://y.y.y.y:8081/", host: domaintoaccess.com
Obrigado
Responder1
Então, depois de cerca de 2 dias pensando sobre isso (e com alguma ajuda), descobri que era um problema de roteamento. Os firewalls parecem estar descartando silenciosamente os pacotes para esta comunicação por algum motivo (não temos nenhuma regra que faça isso).