小码问答,有问必答!

手机app访问接口时,偶尔报502错误,什么原因?

就现在有一些移动4G的手机访问我们的APP啊,就会出现这个502错误,因为我们最外层部署的是nginx吗?这个502不像nginx返回的,就好像是我们nginx没启动。我们这边只是用了甲方的虚拟机,其他的东西包括这个CDN什么的,都在他们那边儿那这个问题后来定位了一下,可能就是CDN再做回源的时候,他访问我们的源站访问失败,然后报这个502。只出现在部分这个移动4G手机。大部分都正常,个别就出,出现错误。

现在就有几点我不明白,首先就是他报了这个502有一个url,这个url为什么后面会拼了一个端口号儿,在请求这个我们的接口的时候没有拼这个端口号,为什么他报这502会出现这个错误?

image.png

运维

收藏

1个回答

我要回答

  • author
    牛叔叔 2021-06-02 09:14

    Nginx的upstream模块中的max_fail和fail_timeout两项。有时Nginx与上游服务器(如Tomcat、FastCGI)的通信只是偶然断掉了,但max_fail如果设置的比较小的话,那么在接下来的fail_timeout时间内,Nginx都会认为上游服务器挂掉了,都会返回502错误。所以可以将max_fail调大一些,将fail_timeout调小一些。