什么是基于Nginx的Wesocket负载均衡
admin
2023-03-16 07:41:16
0

下文给大家带来什么是基于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负载均衡,如果大家还有什么地方需要了解的可以在行业资讯里查找自己感兴趣的或者找我们的专业技术工程师解答的,技术工程师在行业内拥有十几年的经验了。

 




相关内容

热门资讯

ICC逮捕令致内塔尼亚胡出行受... 【环球网报道】据以色列《新消息报》网站26日报道,由于国际刑事法院(ICC)2024年就以色列在巴勒...
“罗永浩怒斥电视机厂商”戳中了... 7月25日晚,罗永浩发文怒斥当下电视机的产品设计。据都市快报报道,罗永浩表示,他为家中老人换了两次电...
各地各部门坚持人民至上筑牢防汛... 新华社北京7月25日电 题:风雨同舟映初心——各地各部门坚持人民至上筑牢防汛抗洪坚实堤坝新华社记者当...
法院回应LV起诉地产开发商 7月26日,厦门市湖里区人民法院发布情况通报,网传案情“路易威登公司起诉地产开发商,因楼盘外立面四叶...
携程的问题不仅在于垄断,更在于... 国内平台科技企业一般都是通过向B端收费、抽佣获利,尽量给消费者创造一个比较清爽的使用环境。携程算是最...
海信电视用遥控器关闭后打不开 原因可能是遥控器的电池没有装好或者是没电了,需要重新安装一下电池或者更换新的电池试一试;原因可能是电...
电视机突然没电源打不开了 有可能是电视开关的电源线断了;可能是电视在使用时短路;可能是电源插头插座松动;可能是电视内部零件接触...
电热水器下面那个小龙头漏水是怎... 电热水器下面那个小龙头漏水是怎么回事?1、因为安全阀发生了故障或者是已经被损坏了,就会有漏水的现象;...
回答下电脑桌面一片空白怎么恢复 电脑桌面上如果是一片空白,那说明您的电脑图标被隐藏了,想要恢复就要按照如下的三个步骤去操作才行。 第...
澳总理要找特朗普“理论”关税:... 当地时间7月26日,澳大利亚总理阿尔巴尼斯表示,他将直接向美国总统特朗普提出抗议,反对美国新近宣布的...