增加nginx上的缓冲区超时大小

时间:2014-02-24 17:32:24

标签: node.js nginx apigee

我有一个连接到cloudstack apis的nodejs程序。在cloudstack上创建虚拟机大约需要20秒。

该程序在我的本地nodejs安装和apigee云上运行良好。但是,当我在客户的OPDK上部署相同内容时,Nginx会返回502-Bad网关。 此链接http://www.nginxtips.com/502-bad-gateway-using-nginx/建议在nginx.conf中增加缓冲区和超时大小

http {
...
fastcgi_buffers 8 16k;
fastcgi_buffer_size 32k;
fastcgi_connect_timeout 300;
fastcgi_send_timeout 300;
fastcgi_read_timeout 300;
...
}

推荐的理想值是多少?什么是Apigee云?

问候,Girish

1 个答案:

答案 0 :(得分:9)

如果使用nginx作为代理,您可能需要查看nginx中的代理超时配置:

http://www.nginxtips.com/504-gateway-time-out-using-nginx/
http://wiki.nginx.org/HttpProxyModule

 proxy_connect_timeout       60;
 proxy_read_timeout          120;

Apigee超时默认值:

连接超时 - 60秒 - connect.timeout.millis
读取超时 - 120秒 - io.timeout.millis

FYI Apigee超时也可在TargetEndpoint连接中配置(以毫秒为单位):

<HTTPTargetConnection>
    <Properties>
        <Property name="connect.timeout.millis">5000</Property>
        <Property name="io.timeout.millis">5000</Property>
    </Properties>
    <URL>http://www.google.com</URL>
</HTTPTargetConnection>

根据服务器响应的时间长短,可以确定理想的超时配置。在这种情况下,45-60s的读取超时可能是理想的,以便在cloudstack减速更多的情况下提供一些缓冲。