Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >nginx反向代理wss无法成功升级websocket是怎么回事?

nginx反向代理wss无法成功升级websocket是怎么回事?

提问于 2020-12-09 03:24:18
回答 1关注 0查看 2K

使用nginx进行websocket的ws和wss的反向代理

代理是成功的, 但是并没有成功的升级成 websocket 长连接

客户端进行握手的时候,上游服务器返回的数据nginx没有通过长连接实时返回给客户端,而是在上游服务器关闭连接或者超时后,nginx才将数据返回给客户端。

nginx版本1.18.0 -------- 这是nginx代理ws和wss的配置

代码语言:javascript
运行
AI代码解释
复制
http 
{
#include      /nginx/conf/naxsi_core.rules;
include       mime.types;
default_type  application/octet-stream;

#access_log  logs/access.log  main;
access_log  off;

map $http_upgrade $connection_upgrade {
	default upgrade;
	'' close;
}
upstream websocket {
	server 192.168.1.58:13527;
	keepalive 512;
}
server {
	listen 80;
	listen 443;
	server_name wss.com;
	
	charset utf-8;

	ssl	on;  # 启用ssl功能
	ssl_certificate		/test/test.crt;
	ssl_certificate_key /test/test.key;
	
	ssl_session_timeout 5m;
	ssl_session_cache shared:SSL:50m;
	ssl_protocols SSLv3 SSLv2 TLSv1 TLSv1.1 TLSv1.2;
	ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP;
	ssl_prefer_server_ciphers on;
	ssl_verify_client off;
	add_header Cache-Control no-store;
	
	keepalive_timeout 3600s;
	keepalive_requests 10000000;
		
	proxy_http_version 1.1;
	
	if ($request_method = 'OPTIONS') {
		return 204;
	}
	
	location /wss 
	{
		proxy_redirect off;
		
		proxy_set_header Host $host:$server_port;
		proxy_set_header X-Real_IP $remote_addr;
		proxy_set_header X-Forwarded-For $remote_addr:$remote_port;
		proxy_set_header X-Forwarded-Host $Server_name;
		proxy_set_header X-NginX-Proxy true;
		
		proxy_connect_timeout 12000s;
		proxy_read_timeout 36000s;
		proxy_send_timeout 36000s;
		proxy_set_header Upgrade $http_upgrade;
		proxy_set_header Connection $connection_upgrade;
		
		# proxy_buffering off;
		
		proxy_pass http://websocket/;
	}

  }


}

nginx的error.log里面提示:

代码语言:javascript
运行
AI代码解释
复制
2020/12/09 10:24:43 [error] 8048#8724: *5 upstream sent no valid HTTP/1.0 header while reading response header from upstream, client: 192.168.1.58, server: wss.com, request: "GET /wss HTTP/1.1", upstream: "http://192.168.1.58:13527/", host: "wss.com"

握手成功后打印连接成功,但是握手成功的数据是在连接被服务器关闭后nginx才返回的
握手成功后打印连接成功,但是握手成功的数据是在连接被服务器关闭后nginx才返回的

被这个问题弄得头都大了,没有有人遇到过这个问题呢,是怎么决绝的啊

回答 1

用户2216113

修改于 2021-11-02 07:26:41

代码语言:js
AI代码解释
复制
<el-dialogtitle="提示"
:visible.sync="dialogVisible"

我这里是把:visible.sync中的sync去掉就可以了
和开发者交流更多问题细节吧,去 写回答
相关文章
vue 封装弹窗组件注意
更多内容请见原文,原文转载自:https://blog.csdn.net/weixin_44519496/article/details/118721031
马克社区
2022/05/05
3230
关于el-dialog,我更推荐的用法
最近的项目里用上了vue和element-ui。vue这种轻量级渐进式框架的舒适自不必说,但一直困扰着我的,是如何方便又优雅的弹出模态dialog...
明年我18
2019/09/18
5.1K0
vue实现excel导入
5.在3中解析了上传的excel之后,得到了一个json类型的数组,这里我采用的方法就是遍历数组然后将数组中的每一个json数组单独请求一次新增数据接口,直到所有的数据添加成功则表示导入成功!
安德玛
2022/03/05
1.5K0
Vue回炉重造之封装一个实用的人脸识别组件
由于我们的电脑有的有摄像头,有的没有摄像头,所以我们需要根据不同的场景来封装这个组件。先放个图吧,大家可以看得更加直观一些。
马克社区
2022/05/18
8890
页面ValidateRequest=false设置在asp.net4.0下失效
ASP.NET请求验证功能可以给我提供应用程序的安全保证,避免站点受到XSS的攻击。但是在一些情况下,我们需要禁用这个功能,比如我们需要使用HtmlEditor来让用户输入一些HTML文本,这时候ASP.NET 2.0允许我们可以通过在web.config设置validateRequest=”false”。或者在MVC中,我们可以通过在Controller或者Action上设置[ValidateRequest(false)]这个特性来达到禁用的上的。但是在当你把站点从旧版本升级到ASP.NET 4.0后,你会发现,即使你这样做,仍然会提示你这样的一个异常“A potentially dangerous Request.Form value was detected from the client”。该如何来解决这个问题呢?
全栈程序员站长
2022/08/31
5840
使用Vue封装一个实用的人脸识别组件
由于我们的电脑有的有摄像头,有的没有摄像头,所以我们需要根据不同的场景来封装这个组件。先放个图吧,大家可以看得更加直观一些。
Vam的金豆之路
2021/11/30
3.5K1
使用Vue封装一个实用的人脸识别组件
关于新浪图床图片失效
通常,当苦逼的我还在学校读书的时候,时不时就趁老师不在用教室电脑打开我的博客瞅瞅, 突然,有一天,我打开,吓了一跳,我博客里图片怎么都死了(失效了),当时我还以为是我服务器是不是哪出问题了。。。这个时候,在教室电脑上又不方便搞,随时都提防着老师,不然被老师逮到就一个违纪,,于是,我就打算等51放假回去后进行问题修复....
若志奕鑫
2021/12/23
6890
关于新浪图床图片失效
关于VUE双向绑定失效的问题「建议收藏」
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
全栈程序员站长
2022/11/04
9850
关于VUE双向绑定失效的问题「建议收藏」
关于解决token过期失效问题「建议收藏」
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
全栈程序员站长
2022/10/01
3.2K0
关于解决token过期失效问题「建议收藏」
关于如何判断if语句中是true还是false的简单方式
在前端使用if的时候,里面条件不确定是true还是false,那么可以用以下 方式来提前预知一下, 就比如说一个function fun (){} 你知道这个是true 还是false吗? 下面看看:
杭州前端工程师
2018/06/15
8050
关于Ajax请求携带Cookie访问失效的解决方案
  在使用ajax请求其他平台时进行登录处理,cookie携带时失效。(使用PHP与Jquery作为演示)   例如,当我的域名 www.example.com 调用Ajax访问 api.exmaple.com时进行登录操作,这个时候api.example.con的响应中肯定会有一条类似为Set-Cookie: PHPSESSID=6ut2plej880p83ja9f76doue1i; path=/ 但是当页面刷新后,重新去访问api.example.com时你会发现这个session已经失效了。
xcsoft
2021/07/14
1.3K0
关于修改window.navigator.webdriver代码失效问题
我前面写到过sycm自动抓取店铺数据 文章链接:https://blog.csdn.net/qq_35866846/article/details/103410931#comments
诡途
2020/10/16
9670
Django:DEBUG=False
Django关闭DEBUG模式后,就相当于是生产环境了,Django官网上指出如果是django框架一旦作为生产环境,那么它的静态文件访问接口就不应该从Django框架中走了,应该有独立的web环境,首推nginx 。
新码农
2020/12/28
8050
el-dialog 层级出现问题
正常来讲 里面的弹窗内容会在层级最上面 官网示例 正常状态.png 而此时 我本地的弹窗层级明显低 此时的状态.png 加上append-to-body 完整代码 <el-dialog
河湾欢儿
2020/11/24
2.1K0
el-dialog 层级出现问题
2022-09-30:以下go语言代码输出什么?A: true true false true false; B: true false false true
2022-09-30:以下go语言代码输出什么?A: true true false true false; B: true false false true false; C: true true true false false;D: true true false true true。
福大大架构师每日一题
2022/09/30
1.3K0
2022-09-30:以下go语言代码输出什么?A: true true false true false; B: true false false true
一次关于line-height 属性失效的问题排查
居中的样式是靠line-height 生效的,现在样式什么的都没变。考虑是全局样式影响。
星宇大前端
2023/05/26
5510
一次关于line-height 属性失效的问题排查
(新)关于修改window.navigator.webdriver代码失效问题
②关于chrome版本迭代后,代码失效问题解决方案的文章链接 《关于修改window.navigator.webdriver代码失效问题》
诡途
2020/10/16
1.8K0
(新)关于修改window.navigator.webdriver代码失效问题
2022-10-28:以下go语言代码输出什么?A:false false;B:true false;C:true true;D:false true。 pac
2022-10-28:以下go语言代码输出什么?A:false false;B:true false;C:true true;D:false true。
福大大架构师每日一题
2022/10/28
1.1K0
2022-10-28:以下go语言代码输出什么?A:false false;B:true false;C:true true;D:false true。 pac
false path和asynchronous的区别
  在FPGA的开发中,对于两个异步时钟,如果我们可以在RTL的设计中保证这两个时钟域之间的处理都是正确的,那就可以让工具不分析这两个时钟域之间的交互。如果不设置的话,Vivado默认都会分析的,这样会大大增加Implementation的时间。
猫叔Rex
2021/11/25
3500
点击加载更多

相似问题

关于第三方服务接口在腾讯云上失效?

1208

链接失效?

2298

docker源失效?

0542

TDSQL MYSQL事务失效?

017

虚拟号码什么时间失效?是通话结束后立即失效吗?

11.2K
相关问答用户
腾讯云TDP | TDP会员擅长3个领域
平安资管 | 架构师擅长4个领域
擅长3个领域
擅长5个领域
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档