分享一个基于NginxWesocket的负载均衡。
1.在mac电脑安装nginx
brew install nginx
2.安装完成以后nginx的配置文件路径
/usr/local/etc/nginx/nginx.conf
3.编辑配置文件进行配置
在http块
新增配置
#gzip on;
map $http_upgrade $connection_upgrade {
default upgrade;
‘‘ close;
}
upstream ws_server {
server qa.server.com:2048;
server qa.server.ai:2048;
}
server {
listen 2048;
server_name localhost;
location /ws {
proxy_pass http://ws_server/ws;
proxy_redirect off;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
}
简要说明一下,nginx监听2048端口,把请求转发到qa.server.h,qa.server.test
客户端通过这个地址 连接:ws://localhost:2048/ws
之前一直有疑问,为什么ws协议要通过http协议来代理?
ws 协议的握手部分是借用http协议了,在握手完成以后进行了协议的切换(header部分的upgrade)。
这个查看网络连接
Response Headersview source
Request Headersview source
本文出自 “12355380” 博客,请务必保留此出处http://12365380.blog.51cto.com/12355380/1965511
原文地址:http://12365380.blog.51cto.com/12355380/1965511