码迷,mamicode.com
首页 > 其他好文 > 详细

基于Nginx的Wesocket负载均衡

时间:2017-09-15 12:18:55      阅读:240      评论:0      收藏: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监听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:

      yoh2s/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





本文出自 “12355380” 博客,请务必保留此出处http://12365380.blog.51cto.com/12355380/1965511

基于Nginx的Wesocket负载均衡

标签:负载均衡   nginx   wesocket   

原文地址:http://12365380.blog.51cto.com/12355380/1965511

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!