我有一个连接到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
答案 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减速更多的情况下提供一些缓冲。