美文网首页PHP实战
接口404问题解决过程记录

接口404问题解决过程记录

作者: caohaoyu | 来源:发表于2018-08-23 14:08 被阅读20次

     一、背景

    测试人员突然向我反馈,说线上的接口访问不了,返回404了。确认问题确实存在,在查找原因的过程中接口恢复正常。感觉这个问题还是挺有意思,所以记录下来。

     二、404状态码

    404 Not Found,一般情况都是指请求服务器上没有的资源

    三、解决问题的过程

    1.首先想到的是,服务器上的接口文件没了,登进去查看文件是正常的

    2.考虑是否是nginx的配置更改导致访问不到,查看了下也是正常

    3.接口又恢复正常,考虑是不是公司网络调整导致的,问了问运维网络也没有任何调整

    4.查看nginx上面的日志发现确实请求到了服务器上,并且返回了404

    查到这里之后就隐约感觉到可能要涨见识了

    5.接下来查看了nginx的错误日志(error.log),看到频繁报以下的报错

    18522#0: *5382085 recv() failed (104: Connection reset by peer) while reading response header from upstream

    6.根据这个报错查找网上资料,说是由于php的运行时间超过php-fpm设置的超时时间(request_terminate_timeout)会提示这个错误

    7.将request_terminate_timeout设置值增大,重启php-fpm,验证问题解决

    四、写文档真有用

    1.之前的解决过程就是如第三步所示,但是在记录问题的时候突然思考这种情况不应该报502的错误么......

    2.在测试环境进行验证下,写个接口,里面sleep(50),在浏览器中访问下,果然如预期返回了502......

    3. ..........

    4.继续查找之前的error.log日志,发现还有以下的报错

    18523#0: *5381683 open() "/var/www/html/50x.html" failed (2: No such file or directory)

    5.看了下nginx.conf,找到以下配置

    error_page  500 502 503 504  /var/www/html/50x.html;

    6.在测试环境验证了下,出现了预期的404,大功告成。

    相关文章

      网友评论

        本文标题:接口404问题解决过程记录

        本文链接:https://www.haomeiwen.com/subject/nlblkftx.html