有关于此的手册问题/答案,但是我的问题尚未从那里的任何解决方案中得到解决,所以我在这里写。
我的节点应用程序在我的开发环境上运行良好,但是在我请求一些api时会在prod上运行,这会导致502错误。
在检查日志时,我遇到了这个问题
2019/02/22 12:16:57 [错误] 2575#0:* 2上游提前关闭 从客户端读取响应标头时进行连接: 172.31.85.97,服务器:,请求:“ GET / api // m2 / v1 / metrics_report?auth = asdsdffk HTTP / 1.1”,上游: “ http://172.17.0.3:80/api/m2/v1/metrics_report?auth=asdsdffk”,主持人: “”,引荐来源网址:“”
答案 0 :(得分:2)
我认为来自nginx
的错误表明服务器已关闭连接。在express
应用程序中某些东西一定引起了此故障。您可以尝试增加nginx的超时来正确调试它-
location / {
proxy_read_timeout 1000s;
proxy_connect_timeout 1000s;
....
}
答案 1 :(得分:0)
就我而言,这是express
配置错误。因此,在这里阅读和查找后,我终于想到了答案。设置httpServer超时,如下例所示:
var httpServer = app.listen(8000, () =>
console.log('App is listening on port 8000.')
)
httpServer.setTimeout(1000)