nginx(二)支持websocket配置
2024-09-30 09:57:14
在默认的配置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分钟后,会发现自动拆链。
最新文章
- return和finally的执行和联系
- Coins
- 30秒攻破任意密码保护的PC:深入了解5美元黑客神器PoisonTap
- selenium--python如何定位一组元素并返回文本值
- 第一部分实现功能:使用一个TabControl和一个Memo和TDictionary类实现文本临时存储
- Android 疑难杂症之获取listView Item上面组件的值
- php环境下所有的配置文件以及作用
- 老男孩python学习自修第五天【集合】
- 洛谷P3258 松鼠的新家
- C++游戏开发需要阅读的书籍
- Note | 学术论文写作方法和技巧
- Python中的几种矩阵乘法(转)
- golang中的init函数以及main函数
- 完整卸载 kUbuntu-desktop from Ubuntu 14.04 LTS系统 ubuntu14.04 LTS 64Bit
- PostgreSQL之性能优化(转)
- [luogu1327][生活大爆炸石头剪子布]
- 鲍姆-韦尔奇算法求解HMM参数
- 转:在centos7上安装memcache
- 使用阿里云的maven私服的setting.xml, 提高maven项目jar下载速度
- .NET:遇到并发问题,什么样的情况下需要自动重试?