nginx(二)支持websocket配置
在默认的配置nginx.conf文件中做如下配置改动
一、http域的设置
http {
include mime.types;
default_type application/octet-stream;
#log_format main '$remote_addr - $remote_user [$time_local] "$request" '
# '$status $body_bytes_sent "$http_referer" '
# '"$http_user_agent" "$http_x_forwarded_for"';
#access_log logs/access.log main;
sendfile on;
#add for websocket
map $http_upgrade $connection_upgrade {
default upgrade;
'' close;
}
upstream websocket {
#ip_hash; //路由规则之一,顾名思义
server localhost:; //真正提供websocket服务的服务器地址和端口
server localhost:; //真正提供websocket服务的服务器地址和端口
}
二、server域的设置
server {
listen ; //外部应用访问的端口
server_name 172.18.4.114; //外部应用访问的地址
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
proxy_pass http://websocket; //这个配置指向http域的配置
proxy_read_timeout 300s; //websocket空闲保持时长
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $connection_upgrade;
#root html;
#index index.html index.htm;
}
三、整体测试
1. 启动后端的websocket服务器,此例中是2个。
2. 打开浏览器访问http://172.18.4.114,发现链接建立到一个服务器上。
3. 再打开一个浏览器页签访问http://172.18.4.114,发现链接建立到另一个服务器上。
4. 分配成功。
5. 空闲超过5分钟后,会发现自动拆链。
nginx(二)支持websocket配置的更多相关文章
- Nginx反向代理websocket配置实例
最近有一个需求,就是需要使用 nginx 反向代理 websocket,经过查找一番资料,目前已经测试通过,本文只做一个记录 复制代码 代码如下: 注: 看官方文档说 Nginx 在 1.3 以后的版 ...
- Nginx反向代理websocket配置实例(官网)
https://www.nginx.com/blog/websocket-nginx/ Blog Tech Rick Nelson of NGINX, Inc. May 16, 2014 NG ...
- 配置nginx+tomcat支持websocket
问题情景: 最近开发新增加一个项目,需要支持https wss协议 访问https://test.aa.com 使用nginx反向代理到后端tomcat web应用 访问https://tes ...
- Django 3.x 原生支持websocket 配置
websocket.py 1 # websocket.py 2 async def websocket_application(scope, receive, send): 3 while True: ...
- Nginx 不支持WebSocket TCP
proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade";
- nginx支持websocket及websocket部分原理介绍
nginx支持websocket及websocket部分原理介绍最近ipc通过websocket与server进行通行,经过无法通过nginx进行反向代理,只有直连nodejs端口.而且部署到阿里云用 ...
- Brophp Nginx 虚拟主机的配置
默认情况下,Nginx 不支持 pathinfo 配置,通过查看了 Thinkphp Nginx 的配置情况,对虚拟主机配置修改如下: server { listen 80; list ...
- Nginx 支持websocket的配置
Nginx 支持websocket的配置server { listen 80; server_name 域名; location / { proxy_pass http://127.0.0.1:808 ...
- nginx 支持websocket
nginx 反向代理websocket nginx配置 请求地址及路径:ws://x.x.x.x/web/springws/websocket.ws 解析 map 指令 上面 nginx.conf 配 ...
随机推荐
- ZOJ 1940 Dungeon Master【三维BFS】
<题目链接> 题目大意: 在一个立体迷宫中,问你从起点走到终点的最少步数. 解题分析: 与普通的BFS基本类似,只需要给数组多加一维,并且走的时候多加 上.下这两个方向就行. #inclu ...
- [ 中危 ] 发布处存在CSRF及CSRF设想
漏洞存在于菜品发布处,使用A账号在添加/发布菜品的时候拦截数据包,使用burpsuite构造 CSRF的POC,再用B账号打开该HTML POC ,生成菜品. 该CSRF400RMB,主要因为是核心业 ...
- notepad++ 去空行
Press Ctrl+H (Replace) Select Extended from SearchMode Put \r\n\r\n in Find What Put \r\n in Replace ...
- XamarinAndroid组件教程设置动画的时长参数
XamarinAndroid组件教程设置动画的时长参数 在添加动画的时候,开发者还可以动画参数进行设置,如动画持续的时长.插值器等.下面依次讲解动画参数的设置方法. 1.设置动画时长 设置动画持续的时 ...
- 在eclipse中配置Python环境
1.下载pydev https://sourceforge.net/projects/pydev/files/pydev/PyDev%202.2.2/ 2.解压pydev插件后 有features.p ...
- BZOJ.4513.[SDOI2016]储能表(数位DP)
BZOJ 洛谷 切了一道简单的数位DP,终于有些没白做题的感觉了...(然而mjt更强没做过这类的题也切了orz) 看部分分,如果\(k=0\),就是求\(\sum_{i=0}^n\sum_{j=0} ...
- 通过按键实现LED灯的亮灭(含两种情况)
#include "stm32f10x.h"// 相当于51单片机中的 #include <reg51.h> #include "stm32f10x_gpio ...
- React Native升级目标SDK
React Native升级目标SDK 打开在 android/app/的build.gradle 找到 android { } 区块 改变以下属性 compileSdkVersion 26 buil ...
- Ubuntu16.04搜狗输入法无法输入中文
搜狗输入法图标显示正常,但是无法输入中文,切换为中文输入时无待选中文,只能输入英文. 这种情况应该是搜狗输入法的配置出现了问题,因为重装输入法时配置文件夹会保留,因此重装无法解决问题. 解决方案: 1 ...
- 用canvas写个接水管小游戏
声明:本文为原创文章,如需转载,请注明来源WAxes,谢谢! 过年的十八天假期迷迷糊糊一下子就过去了(LZ还是实习生,鉴于大学最后一个寒假了,所以就多请了好多天假),又要返工上班了.这是年后的第一篇博 ...