分享一个基于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

转载于:https://blog.51cto.com/12365380/1965511

基于Nginx的Wesocket负载均衡相关推荐

  1. 基于nginx的tomcat负载均衡和集群(超简单)

    今天看到"基于apache的tomcat负载均衡和集群配置 "这篇文章成为javaEye热点. 略看了一下,感觉太复杂,要配置的东西太多,因此在这里写出一种更简洁的方法. 要集群t ...

  2. nginx服务器的负载均衡和动静分离(未完)

    安装nginx,我的博客里面有介绍源码和yum安装. 实战:使用nginx实现动静分离的负载均衡集群 实战:使用haproxy实现负载均衡集群 LB负载均衡集群分为两类:LVS(四层)和Nginx或p ...

  3. Nginx 反向代理 负载均衡 虚拟主机

    Nginx 反向代理 负载均衡 虚拟主机配置 通过本章你将学会利用Nginx配置多台虚拟主机,清楚代理服务器的作用,区分正向代理和反向代理的区别,搭建使用Nginx反向搭理和负载均衡,了解Nginx常 ...

  4. FastDFS蛋疼的集群和负载均衡(十五)之lvs四层+Nginx七层负载均衡

    ###Interesting things lvs+nginx的拓扑图 准备环境,基于上一篇[Diary Report 2018-1-3]关于FastDFS蛋疼的集群和负载均衡(十三)之LVS-DR环 ...

  5. Nginx高级应用--负载均衡、rewrite规则

    Nginx除了可以用作web服务器外,他还可以用来做高性能的反向代理服务器,它能提供稳定高效的负载均衡解决方案.nginx可以用轮询.IP哈希.URL哈希等方式调度后端服务器,同时也能提供健康检查功能 ...

  6. nginx+tomcat+memcached负载均衡

    2019独角兽企业重金招聘Python工程师标准>>> nginx+tomcat+memcached负载均衡 负载均衡: 负载均衡是由多台服务器以对称的方式组成一个服务器集合,每台服 ...

  7. Nginx stream 配置代理(Nginx TCP/UDP 负载均衡)

    前奏 我们都知道 nginx 是一款优秀的反向代理服务,用过 nginx 的也应该都知道 upstream,upstream 节点一般置于 http 节点大括号中,常规在 upstream 中配置需要 ...

  8. Nginx配置之负载均衡、限流、缓存、黑名单和灰度发布

    Nginx配置之负载均衡.限流.缓存.黑名单和灰度发布 一.Nginx安装(基于CentOS 6.5) 1.yum命令安装 yum install nginx –y (若不能安装,执行命令yum in ...

  9. Nginx配之负载均衡、缓存、黑名单和灰度发布

    一.Nginx安装(基于CentOS 6.5) 1.yum命令安装 yum install nginx –y (若不能安装,执行命令yum install epel-release) 2. 启动.停止 ...

最新文章

  1. AC日记——中庸之道 codevs 2021
  2. MySQL修改字段的排列位置
  3. No result defined for action
  4. mysql 宽字符注入_5. 宽字符注入详解与实战
  5. hdu 1873“看病要排队”——优先队列的应用
  6. 【Codeforces Round #516_div2_E】【二分交互题】Dwarves, Hats and Extrasensory Abilities
  7. android 周月切换日历,vue-week-picker实现支持按周切换的日历
  8. JAVA 换行输出的五种方法
  9. 程序猿DD《Spring Boot基础教程》系列汇总
  10. Windows 10 微软拼音输入法无法输入中文标点符号
  11. C语言每日一练——第61天:掷骰子游戏
  12. windows更新系统后,git报错unsafe repository xxx is owned by someone else
  13. 电脑记账最简单的方法
  14. SIP协议学习(3)
  15. IEEP部署企业级网络工程-网络故障-环路故障
  16. java 栈的输出顺序,栈在Java类库中的顺序表示及实现——Stack
  17. JAVA写100以内的偶数和
  18. 多机器人编队人工势场法协同避障算法原理及实现
  19. 飞腾64核服务器cpu芯片,【今日头条】飞腾64核CPU适配百度昆仑AI处理器:全国产的AI体系登场...
  20. 在.NET中操作XmlDocument,XmlReader的方法

热门文章

  1. 项目管理修炼之道-读书流水
  2. SEO工具,站长必备
  3. [置顶]常用存储过程集锦
  4. 3个你必须知道的面试新趋势, 抓住秋招尾巴拿下offer
  5. django写一个简单的登陆注册
  6. 第41天:匀速、缓动运动和图片无缝滚动
  7. 别说我不告诉你,如此养车包你把自己也养穷了……
  8. 理解js的prototype原型对象
  9. tomcat中多个域名配置
  10. (二)开源IT资产管理系统--OCS(win)客户端代理安装