Nginx之Websocket
2019-05-25 本文已影响164人
青衣敖王侯
1.什么是websocket
websocket实现在HTTP链接的基础上,并通过HTTP中的Upgrade协议头将连接从HTTP升级到WebSocket。这样就可以实现多次双向通讯,直到连接被关闭。它的特点是实现双向通信,复用HTTP协议的通道。如下图所示:
2.websocket代理应用场景
代理应用场景3.Nginx实现websocket代理
4.基于nodejs实现websocket代理场景配置演示
4.1安装nodejs
yum install nodejs -y
4.2安装npm
yum install npm
4.3安装ws模块
npm install ws
4.4安装wscat测试工具
npm install wscat
4.5编写一个监听服务端:server.js
image.png4.6运行server.js
运行4.7Nginx服务端配置
map $http_upgrade $connection_upgrade {
default upgrade;
'' close;
}
upstream websocket {
server 127.0.0.1:8010;
}
server {
listen 80;
access_log /var/log/nginx/test_websocket.access.log main;
location / {
proxy_pass http://websocket;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $connection_upgrade;
}
}
4.8使用wscat测试
wscat --connect ws://127.0.0.1