浏览 995
大佬们好!
我最近遇到upstream上游服务宕掉,但是nginx回复一个502错误页面的问题。当我查看代码后发现该页面是在代码中写死的,并且查看了代码的逻辑也不知道该如何使得nginx不返回该页面:
502 Bad Gateway
502 Bad Gateway
openresty/1.15.8.2
因为我是在模块开发的过程中使用 ngx_http_subrequest
生成了子请求,并在子请求中location
中使用proxy_pass
请求上游服务,因此当上游服务如果有问题的时候,我希望能在主请求中做出response,而不是由nginx代回复。
因此我想知道,如果上游服务失败或者上游服务宕掉的情况下,可不可以让nginx不返回这个502页面,或者发回的body我可以过滤掉不让其返回给客户端?
按点赞数排序
按时间排序
是关于C模块开发的吗? 如果是的话,不列出代码是很难了解清楚问题的🙂
1
回答于2020-08-26 16:07
0
回答于2020-08-26 09:09
ngx时多进程架构的,reload会关闭当前进程,所以会断开keepalive的连接的。第一类问题如果出现频率比较高,可能是upstream服务或者中间网络某个环节有问题,第二类跟check模块有关,不是很了解。能复现的话建议抓包看看。