位置: IT常识 - 正文

Nginx反向代理WebSocket服务连接报错:WebSocket connection to “wss://xxx/xxx“ failed(nginx反向代理未知域名)

编辑:rootadmin
Nginx反向代理WebSocket服务连接报错:WebSocket connection to “wss://xxx/xxx“ failed

推荐整理分享Nginx反向代理WebSocket服务连接报错:WebSocket connection to “wss://xxx/xxx“ failed(nginx反向代理未知域名),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:nginx反向代理为什么会301,nginx反向代理web配置,nginx反向代理微信,nginx反向代理文件大小,nginx反向代理web配置,nginx反向代理文件大小,nginx反向代理为什么能解决跨域,nginx反向代理为什么能解决跨域,内容如对您有帮助,希望把文章链接给更多的朋友!

最近使用 node.js 搭建 WebSocket 服务,在本地测试 connection 都是正常,于是部署到 Linux 服务上,需要用 Nginx 来反向代理 WebSocket 服务。浏览器控制台报错:WebSocket connection to 'wss://tiven.cn/ws/xxx' failed:,经过一番折腾,终于解决了这个报错。

介绍Nginx反向代理WebSocket服务连接报错:WebSocket connection to “wss://xxx/xxx“ failed(nginx反向代理未知域名)

WebSocket 协议与 HTTP 协议不同,但 WebSocket 握手与 HTTP 兼容,使用 HTTP 升级工具将连接从 HTTP 升级到 WebSocket。这允许 WebSocket 应用程序更容易地适应现有的基础架构。例如,WebSocket 应用程序可以使用标准 HTTP 端口80和443,从而允许使用现有的防火墙规则。

WebSocket 应用程序可以在客户端和服务器之间保持长时间运行的连接,从而有助于开发实时应用程序。 Nginx 反向代理用于将连接从 HTTP 升级到 WebSocket 的 HTTP 升级机制使用 Upgrade 和 Connection 头 。反向代理服务器在支持 WebSocket 时面临一些挑战。一个是 WebSocket 是一个逐跳协议,因此当代理服务器拦截客户端的升级请求时,需要向后端服务器发送自己的升级请求,包括相应的头文件。此外,由于 WebSocket 连接长期存在,与 HTTP 使用的典型短期连接相反,反向代理需要允许这些连接保持打开状态,而不是关闭它们,因为它们似乎处于空闲状态。

允许在客户机和后端服务器之间建立隧道,Nginx 支持 WebSocket。对于 Nginx 将升级请求从客户端发送到后台服务器,必须明确设置 Upgrade 和 Connection 标题。

总的来说,就是使用 Nginx 反向代理 WebSocket 服务时需要设置 Upgrade 和 Connection 的 header。

nginx 配置出现报错时的配置location /ws { 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_set_header X-Forwarded-Proto $scheme; proxy_pass http://127.0.0.1:9000/ws;} 反向代理成功的配置location /ws { 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_set_header X-Forwarded-Proto $scheme; proxy_pass http://127.0.0.1:9000/ws; # 关键配置 start proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; # 关键配置 end}

完美解决报错问题(WebSocket connection to "xxx/xxx" failed)。

Nginx 相关推荐Nginx学习与实战 · 配置HTTP2Nginx学习与实战 · 解决SPA单页面应用CDN缓存问题Nginx学习与实战 · 解决net::ERR_CONTENT_LENGTH_MISMATCH 206问题Nginx warn:conflicting server name ‘127.0.0.1’ on 0.0.0.0:8010, ignoredNginx反向代理WebSocket服务连接报错:WebSocket connection to ‘wss://xxx/xxx’ failed

欢迎访问:天问博客

本文链接地址:https://www.jiuchutong.com/zhishi/289807.html 转载请保留说明!

上一篇:关于CPU和GPU版本共存下的安装Pytorch(跑YOLO模型)(cpu和gpu性能对比)

下一篇:[已解决|多种方案]Error: Rule can only have one resource source (provided resource and test + include + excl(有多种解决方法的问题)

  • 免税收入怎么做账务处理
  • 什么是税务登记管理
  • 可转债会计分录利息
  • 股票股利的资金来源
  • 个人所得税0申报表怎么填
  • 在网上怎么预约办健康证
  • 现金账怎么记账图例
  • 物业公司代收水电费会计分录
  • 实际入库数量怎么算
  • 小规模纳税人自开专票
  • 电商刷单的财务操作
  • 未分配利润怎么处理
  • 房屋使用权转让合法吗
  • 无票收入确认收入
  • 上月销售的货物会计分录
  • 劳务所得个税税率表
  • 企业所得税只能抵扣吗
  • 建筑公司收到工程款需要交哪些税
  • 耳机插在电脑上有滋滋的声音
  • Win10 64位正式版系统安装方法全过程图解(U大师)
  • windows10找不到用户和组
  • 外贸企业出口货物
  • 上年结转的广告费次年怎么入账
  • 库存现金的主要内容有哪些
  • 天猫收取的三大费用
  • 企业的借款利息支出全部可以税前扣除吗
  • 分级核算下的建议怎么写
  • 企业所得税年报申报时间
  • 核准类减免税有哪些项目
  • oeloader.exe - oeloader是什么进程 有什么用
  • csrss是什么程序
  • php中defined什么意思
  • 以固定资产对外投资影响现金流量吗
  • 竞业限制违反了怎么办
  • 格拉纳达的阿尔罕布拉宫用什么材料制成?
  • 前端 上传文件
  • 房地产企业开始退地的影响
  • 公司日常流水账
  • 知名个人网站
  • 猿创设计科技有限公司
  • 一文详解卡尔曼人物形象
  • 微信利用php创建文件
  • 原始凭证必要时可以涂改
  • 银行回单打回来会计要做什么
  • mongodb视频教程
  • sql数据库存储过程怎么写
  • 结转成本计入
  • 当月进项发票忘认证又开了销项税额怎么办
  • 所得税预缴怎么申报
  • 租赁公司开票没有写数量可以开吗?
  • 预付账款怎么记账
  • 成品油发票的六个问答
  • 小规模纳税人开专票税率是多少?
  • 记错科目怎么调整
  • 个人账户转公司账户附言写什么
  • 应计入产品成本的停工损失是
  • 年度纳税总额包括个税吗
  • mysql 修改配置
  • win8.1 multiple edition
  • winxp u盘拒绝访问
  • 如何进行节约
  • 激活窗口的菜单的快捷键
  • icg是什么文件
  • live updater
  • win7声音扬声器设置
  • html中dt
  • margin使用
  • css渐变文本效果在哪
  • shell操作
  • 关于Python的lambda函数,以下选项
  • unity3d如何发布ios教程
  • jquery自定义表单
  • jquery如何加背景图片
  • 税务举报被泄漏怎么办
  • 网上申领的电子发票如何读入金税盘
  • 医院开具的电子票据是发票吗
  • 江苏国税申报怎么操作流程
  • a类棉b类棉c类的区别
  • 商贸有限公司怎么运营
  • 宝安区西乡税务所长
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设