nginx反向代理实现多台服务器部署
一、 nginx反向代理功能的实现
upstream wsbackend {
server 192.168.0.102:8080;
server 192.168.0.100:8080;
hash $request_uri;
}
map $http_upgrade $connection_upgrade {
default upgrade;
'' close;
}
server {
listen 80;
server_name localhost;
location / {
proxy_pass http://wsbackend;
}
#默认以chat开头的都指向wsbackend规则
location ^~ /chat {
proxy_pass http://wsbackend;
#默认反向代理的时间是1分钟,如果超过1分钟会把这个长链接给关系,所以需要手动配置一下链接超时时间
proxy_connect_timeout 500s;#保持时间的连接的时间长度
proxy_read_timeout 500s;#保持给后端读取的时间长度
proxy_send_timeout 500s;#保持给发送数据时间的长度
proxy_set_header Upgrade $http_upgrade;#前端传过来websocket字符串
proxy_set_header Connection "Upgrade";
}
}
}