吴五万
robs

导航

 
 1 http {
 2     server {
 3         location / {
 4             root   html;
 5             index  index.html index.htm;
 6             proxy_pass http://sre_backend;
 7             proxy_http_version 1.1;
 8             proxy_connect_timeout 5s;
 9             proxy_read_timeout 60s;
10             proxy_send_timeout 30s;
11             proxy_set_header Upgrade $http_upgrade; 
12             proxy_set_header Connection "$connection_upgrade";  
13         }
14     }
15 }
View Code

「解释上面超时配置的」

「proxy_read_timeout参数」默认值60秒,该指令设置与代理服务器的读超时时间。它决定了nginx会等待多长时间来获得请求的响应。这个时间不是获得整个response的时间,而是两次reading操作的时间。即是服务器对你等待最大的时间,也就是说当你使用nginx转发webSocket的时候,如果60秒内没有通讯,依然是会断开的,所以,你可以按照你的需求来设定。比如说,我设置了5分钟,那么如果我5分钟内有通讯,或者5分钟内有做心跳的话,是可以保持连接不中断的。所以这个时间是看你的业务需求来调整时间长短的。

「proxy_send_timeout参数」默认值 60s,设置了发送请求给upstream服务器的超时时间。超时设置不是为了整个发送期间,而是在两次write操作期间。如果超时后,upstream没有收到新的数据,nginx会关闭连接。

posted on 2023-02-09 14:05  吴五万  阅读(212)  评论(0编辑  收藏  举报