美文网首页
nginx 代理 IIS 返回 504 Gateway Time

nginx 代理 IIS 返回 504 Gateway Time

作者: 朝圣的路上 | 来源:发表于2018-06-01 15:22 被阅读257次

    今天研发部的同事找到我。说他们的网站在用域名访问的时候导出文件出现504错误:

    nginx 504 Gateway Time-out

    然而用IP地址访问的时候正常。让我帮忙看看是不是nginx配置的问题。

    了解了一下他们的应用场景。导出文件功能首先会在后台根据各种数据生成一个文件,这个文件可能好几十兆。然后才会进入下载流程。重现他们问题的时候发现,域名访问的时候,最多一分钟后没响应就返回504 gateway time-out了。所以,估计是nginx在读请求时超时。

    网上各种百度,试过在nginx里面加如下配置:

        fastcgi_connect_timeout 300;
        fastcgi_send_timeout 300;
        fastcgi_read_timeout 300;
        fastcgi_buffer_size 256M;
        fastcgi_buffers 8 256M;#8 128
        fastcgi_busy_buffers_size 512M;
        fastcgi_temp_file_write_size 512M;
    
    

    测试无效,跟fastcgi没关系。

    接着在location里面添加proxy设置。访问没有出现超时。问题解决。

         proxy_connect_timeout 300s;
         proxy_send_timeout 300s;  #这个配置是问题的关键
         proxy_read_timeout 300s;
    

    这个问题主要是nginx读请求超时造成的。

    相关文章

      网友评论

          本文标题:nginx 代理 IIS 返回 504 Gateway Time

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