什么是基于Nginx的Wesocket负载均衡-成都快上网建站

什么是基于Nginx的Wesocket负载均衡

下文给大家带来什么是基于Nginx的Wesocket负载均衡,希望能够给大家在实际运用中带来一定的帮助,负载均衡涉及的东西比较多,理论也不多,网上有很多书籍,今天我们就用创新互联在行业内累计的经验来做一个解答。

网站建设哪家好,找创新互联!专注于网页设计、网站建设、微信开发、微信小程序、集团企业网站建设等服务项目。为回馈新老客户创新互联还提供了富拉尔基免费建站欢迎大家使用!

分享一个基于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的Wesocket负载均衡

简要说明一下,nginx监听2048端口,把请求转发到qa.server.h,qa.server.test

客户端通过这个地址 连接:ws://localhost:2048/ws


之前一直有疑问,为什么ws协议要通过http协议来代理?

ws 协议的握手部分是借用http协议了,在握手完成以后进行了协议的切换(header部分的upgrade)。

这个查看网络连接

    1. Request URL:

      ws://localhost:2048/ws

    2. Request Method:

      GET

    3. Status Code:

    4. 101 Switching Protocols

  1. Response Headersview source

    1. Connection:

      upgrade

    2. Date:

      Fri, 15 Sep 2017 01:48:28 GMT

    3. sec-websocket-accept:

      r+ZclgKaM7r9b6RklYinaGUcvwE=

    4. Server:

      nginx/1.12.1

    5. upgrade:

      websocket

  2. Request Headersview source

    1. Accept-Encoding:

      gzip, deflate, br

    2. Accept-Language:

      en-US,en;q=0.8,zh-CN;q=0.6,zh;q=0.4

    3. Cache-Control:

      no-cache

    4. Connection:

      Upgrade

    5. Host:

      localhost:2048

    6. Origin:

      http://localhost:8000

    7. Pragma:

      no-cache

    8. Sec-WebSocket-Extensions:

      permessage-deflate; client_max_window_bits

    9. Sec-WebSocket-Key:

      yoh4s/VG9x099oJEoP4FNA==

    10. Sec-WebSocket-Version:

      13

    11. Upgrade:

      websocket

    12. User-Agent:

      Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.113 Safari/537.36

看了以上关于什么是基于Nginx的Wesocket负载均衡,如果大家还有什么地方需要了解的可以在创新互联行业资讯里查找自己感兴趣的或者找我们的专业技术工程师解答的,创新互联技术工程师在行业内拥有十几年的经验了。

 



文章标题:什么是基于Nginx的Wesocket负载均衡
分享网址:http://kswjz.com/article/gjohid.html
扫二维码与项目经理沟通

我们在微信上24小时期待你的声音

解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流