保持长链接
保持长链接
webSocket
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# 1.webSocket如何保持长连接?
# 指定服务配置添加
location / {
root html;
index index.html index.htm;
proxy_pass http://scoket;
proxy_http_version 1.1;
# 保持长连接,配置以下三点: 保持12h
proxy_connect_timeout 43200s;
proxy_read_timeout 43200s;
proxy_send_timeout 43200s;
# 这是webSocket的配置
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
}
流模式(代理)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
stream {
log_format proxy log_format proxy '$remote_addr [$time_local] '
'$protocol $status $bytes_sent $bytes_received '
'$session_time $upstream_addr '
'$upstream_bytes_sent $upstream_bytes_received $upstream_connect_time $remote_addr:$server_port';
#access_log /usr/local/tengine/logs/proxy/proxy-slb.access.log proxy;
#error_log /usr/local/tengine/logs/proxy/proxy-slb.error.log;
#client_header_buffer_size 4k;
include tcp/*.stream;
}
upstream proxy-slb {
server 127.0.0.1:40011 weight=2 max_fails=3;
server 127.0.0.1:40004 weight=2 max_fails=3;
server 172.16.0.123:40002 weight=3 max_fails=3;
#check interval=3000 rise=2 fall=5 timeout=15000 default_down=false type=tcp;
#check interval=10 rise=2 fall=5 timeout=15;
#server 172.16.0.123:40003 weight=2 fail_timeout=30s max_fails=3;
#server 127.0.0.1:40001 weight=2 fail_timeout=15s max_fails=3;
#server 172.16.0.123:40002 weight=1 fail_timeout=15s max_fails=3;
}
server {
listen 40010 so_keepalive=on;
proxy_timeout 3000s;
proxy_connect_timeout 3000s;
proxy_pass proxy-slb;
tcp_nodelay on;
access_log /usr/local/tengine/logs/proxy/proxy-slb.access.log proxy;
error_log /usr/local/tengine/logs/proxy/proxy-slb.error.log;
}
本文由作者按照
CC BY 4.0
进行授权