基于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)。
这个查看网络连接
Request URL:
ws://localhost:2048/ws
Request Method:
GET
Status Code:
101 Switching Protocols
Response Headersview source
Connection:
upgrade
Date:
Fri, 15 Sep 2017 01:48:28 GMT
sec-websocket-accept:
r+ZclgKaM7r9b6RklYinaGUcvwE=
Server:
nginx/1.12.1
upgrade:
websocket
Request Headersview source
Accept-Encoding:
gzip, deflate, br
Accept-Language:
en-US,en;q=0.8,zh-CN;q=0.6,zh;q=0.4
Cache-Control:
no-cache
Connection:
Upgrade
Host:
localhost:2048
Origin:
http://localhost:8000
Pragma:
no-cache
Sec-WebSocket-Extensions:
permessage-deflate; client_max_window_bits
Sec-WebSocket-Key:
yoh2s/VG9x099oJEoP4FNA==
Sec-WebSocket-Version:
13
Upgrade:
websocket
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负载均衡相关推荐
- 基于nginx的tomcat负载均衡和集群(超简单)
今天看到"基于apache的tomcat负载均衡和集群配置 "这篇文章成为javaEye热点. 略看了一下,感觉太复杂,要配置的东西太多,因此在这里写出一种更简洁的方法. 要集群t ...
- nginx服务器的负载均衡和动静分离(未完)
安装nginx,我的博客里面有介绍源码和yum安装. 实战:使用nginx实现动静分离的负载均衡集群 实战:使用haproxy实现负载均衡集群 LB负载均衡集群分为两类:LVS(四层)和Nginx或p ...
- Nginx 反向代理 负载均衡 虚拟主机
Nginx 反向代理 负载均衡 虚拟主机配置 通过本章你将学会利用Nginx配置多台虚拟主机,清楚代理服务器的作用,区分正向代理和反向代理的区别,搭建使用Nginx反向搭理和负载均衡,了解Nginx常 ...
- FastDFS蛋疼的集群和负载均衡(十五)之lvs四层+Nginx七层负载均衡
###Interesting things lvs+nginx的拓扑图 准备环境,基于上一篇[Diary Report 2018-1-3]关于FastDFS蛋疼的集群和负载均衡(十三)之LVS-DR环 ...
- Nginx高级应用--负载均衡、rewrite规则
Nginx除了可以用作web服务器外,他还可以用来做高性能的反向代理服务器,它能提供稳定高效的负载均衡解决方案.nginx可以用轮询.IP哈希.URL哈希等方式调度后端服务器,同时也能提供健康检查功能 ...
- nginx+tomcat+memcached负载均衡
2019独角兽企业重金招聘Python工程师标准>>> nginx+tomcat+memcached负载均衡 负载均衡: 负载均衡是由多台服务器以对称的方式组成一个服务器集合,每台服 ...
- Nginx stream 配置代理(Nginx TCP/UDP 负载均衡)
前奏 我们都知道 nginx 是一款优秀的反向代理服务,用过 nginx 的也应该都知道 upstream,upstream 节点一般置于 http 节点大括号中,常规在 upstream 中配置需要 ...
- Nginx配置之负载均衡、限流、缓存、黑名单和灰度发布
Nginx配置之负载均衡.限流.缓存.黑名单和灰度发布 一.Nginx安装(基于CentOS 6.5) 1.yum命令安装 yum install nginx –y (若不能安装,执行命令yum in ...
- Nginx配之负载均衡、缓存、黑名单和灰度发布
一.Nginx安装(基于CentOS 6.5) 1.yum命令安装 yum install nginx –y (若不能安装,执行命令yum install epel-release) 2. 启动.停止 ...
最新文章
- AC日记——中庸之道 codevs 2021
- MySQL修改字段的排列位置
- No result defined for action
- mysql 宽字符注入_5. 宽字符注入详解与实战
- hdu 1873“看病要排队”——优先队列的应用
- 【Codeforces Round #516_div2_E】【二分交互题】Dwarves, Hats and Extrasensory Abilities
- android 周月切换日历,vue-week-picker实现支持按周切换的日历
- JAVA 换行输出的五种方法
- 程序猿DD《Spring Boot基础教程》系列汇总
- Windows 10 微软拼音输入法无法输入中文标点符号
- C语言每日一练——第61天:掷骰子游戏
- windows更新系统后,git报错unsafe repository xxx is owned by someone else
- 电脑记账最简单的方法
- SIP协议学习(3)
- IEEP部署企业级网络工程-网络故障-环路故障
- java 栈的输出顺序,栈在Java类库中的顺序表示及实现——Stack
- JAVA写100以内的偶数和
- 多机器人编队人工势场法协同避障算法原理及实现
- 飞腾64核服务器cpu芯片,【今日头条】飞腾64核CPU适配百度昆仑AI处理器:全国产的AI体系登场...
- 在.NET中操作XmlDocument,XmlReader的方法