我需要NGINX删除连接(即不回复),当使用nodejs代理出现网关502错误时,我认为这是错误444。
原因是我们在多个国家/地区远程部署了远程客户端,这些客户端的代码查找服务器无响应,并运行一些javascript代码,以等待页面再次生效。
我无法在客户端上更改代码,因此如果nodejs服务器已关闭,则需要NGINX不答复,而不是使用502错误的网关进行答复,这不是我所知的最佳实践,但这是需要解决的问题。
这是我的位置配置:
location / {
if (-f $document_root/error502.html) {
return 444;
}
proxy_pass http://localhost:800;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_buffering off;
}
这是行不通的,我正在寻求解决的方法。
最佳答案
尝试这个:
location / {
error_page 502 =444 /444-response
...
}
location = /444-response {
return 444;
}
关于node.js - 502错误时NGINX断开连接,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45835107/