因此,我尝试设置一个反向代理,但遇到了一个奇怪的错误:当我重定向用户时,一切正常,但是当我使用 proxy_pass(就像我需要的那样)时,我收到“502 错误网关错误”。
代码:
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;
}
捕获流量后,我发现对等端在完成三次握手后,一旦收到 http 请求就会立即关闭连接。
那么,什么原因可能导致这个错误?
错误日志文件
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
谢谢
答案1
因此,经过大约 2 天的思考(以及一些帮助),我发现这是一个路由问题。防火墙似乎出于某种原因悄悄地丢弃了此通信的数据包(我们没有任何规则这样做)。