nginx 代理 websocket

nginx 首先确认版本必须是1.3以上

map指令的作用:
该作用主要是根据客户端请求中$http_upgrade 的值,来构造改变$connection_upgrade的值,即根据变量$http_upgrade的值创建新的变量$connection_upgrade,
创建的规则就是{}里面的东西。其中的规则没有做匹配,因此使用默认的,即 $connection_upgrade 的值会一直是 upgrade。然后如果 $http_upgrade为空字符串的话,
那值会是 close。 由于后期项目修改 现在将ws地址改为 wss://school.zhuzhida.vip/ws

schoolsocket.zhuzhida.vip.conf

#必须添加的
map $http_upgrade $connection_upgrade {
default upgrade;
'' close;
}
#监听websocket
upstream websocket {
#ip_hash;
#转发到服务器上相应的ws端口
server localhost:3344;
#server localhost:8011;
}
server {
listen 80;
server_name schoolsocket.zhuzhida.vip;
location / {
#转发到http://websocket
proxy_pass http://websocket;
proxy_read_timeout 300s;
proxy_send_timeout 300s; proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
#升级http1.1到 websocket协议
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $connection_upgrade;
}
}
复制代码

测试一下

1.确保服务未被转发前ws端口是否正常

wscat -c localhost:3344
复制代码

服务器返回权限不足是因为我ws服务首次会话有token校验,此处返回权限不足断开连接为正常现象

2.外网测试nginx转发

wscat -c schoolsocket.zhuzhida.vip
复制代码

最新文章

  1. C语言关于利用sscanf实现字符串相加减
  2. java动态绑定的一点注意
  3. sqlserver 数据库中时间函数的建立
  4. Oracle在dos命令下导出导入
  5. 10socket编程
  6. HTML5开发规范
  7. Ehcache(2.9.x) - API Developer Guide, Write-Through and Write-Behind Caches
  8. Aizu 2305 Beautiful Currency DP
  9. Android常见开发思路
  10. JQuery中如何click中传递参数
  11. grunt插件[font-spider] : 转码,压缩字体 @font-face
  12. [iOS常见问题] 关于使用QQ做第三方登录的问题!
  13. 源码编译安装 PHP5.5.0,解决curl_exec访问HTTPS返回502错误的问题(修改PATH路径)
  14. IT增值服务,客户案例(一)--山东青岛在职人士,2年.Net经验,转Java开发半年
  15. 201521123089 《Java程序设计》第3周学习总结
  16. c# 复制dataset中table结构跟数据
  17. tian
  18. Matplotlib学习
  19. redis服务部署脚本
  20. pyhton之os.path

热门文章

  1. mysql instr()函数
  2. SpringBoot 跨域 Access-Control-Allow-Origin
  3. 面试之leetcode20堆栈-字符串括号匹配,队列实现栈
  4. 【转帖】编译-O 选项对性能提升作用
  5. 简单的python爬虫教程:批量爬取图片
  6. Django框架深入了解_04(DRF之url控制、解析器、响应器、版本控制、分页)
  7. LOJ2882 JOISC2014 两个人的星座 计算几何
  8. Unity的学习笔记(XLua的初学用法并在lua中使用unity周期函数)
  9. aspnetcore 容器化部属到阿里云全过程记录
  10. 扩展JS