即时通信前端之美JAVA

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.png

4.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

上一篇下一篇

猜你喜欢

热点阅读