阿里云ECS nginx 60秒超时 504

记一次 nginx 504 响应码的处理过程. 

线上项目的下载功能只要耗时超过60s便会跳转到504页面,

于是搜索解决办法,相信大家都知道普遍的解决办法,那就是在nginx.conf里一痛加配置

如下

proxy_connect_timeout    3000;
   proxy_read_timeout      3000;
   proxy_send_timeout       3000;

   send_timeout   3000;

   fastcgi_read_timeout   3000;
   fastcgi_send_timeout   3000;
   fastcgi_buffers 8 128k;
   fastcgi_buffer_size 128k;
   
   client_header_timeout 3000;
   client_body_timeout 3000;

但是加入之后,问题依旧

        围绕nginx配置问题各种痛苦的爬楼无果之后. 我决定换个思路,以阿里云  504 为关键词爬楼, 果然有了眉目

       在阿里云负载均衡的控制台找到了相关的设置项, 可是奇怪的是,把这个设置项从60s改成180s并重启负载均衡之后,问题任然存在,彻底崩溃,于是在确定了测试环境无此问题之后,遂向阿里云提了工单.各种沟通之后,对方要求提供问题链接让对方测试.然后我写好了测试链接却发现问题没有了,莫名其妙的没有了!  因为不知道是nginx.conf生效了还是阿里云的控制台设置生效了,于是我删除了nginx.conf里添加的配置,然后进行测试发现虽然同样跳转到了504页面,但是界面却有所不同!如下

这个才是nginx的504页面!

小结:目前我得出的结论是阿里云的负载均衡和自己搭的nginx都要进行超时设置,这是必然的.

       关于阿里云的设置项为什么没有立即生效,我猜哈,无非有两种可能,

              一种是确实生效时间慢,可能需要几十分钟,因为我们在重启阿里的负载均衡后,进行了多次测试,一直到我发工单写测试链接之前,问题都还在.

           第二种是发工单之后,阿里的工程师偷偷摸摸解决了设置未生效的问题,因为刚好发了工单不久问题就没了,呵呵,真的也太巧合了,这种的就有点恶心了