首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >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才返回的

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

回答

成为首答用户。去 写回答
相关文章
OpenGL 实现视频编辑中的转场效果
现在拍摄 vlog 的玩家越来越多,要是视频没有一两个炫酷的转场效果,都不好意思拿出来炫酷了。
音视频开发进阶
2019/10/22
3.1K0
短链接的实现
生活中,经常会在手机短信的广告中出现,因为短信服务本身对短信的长度有限制,如果使用一个非常长的链接,几百字符很快就能用完,关键信息的字符数被挤压,影响了服务方的广告价值同时也影响了消费者的观感,通过短链可以解决这个问题。
时光潜流
2023/10/22
5100
短链接的实现
java 如何实现短函数调用?
在Java中,可以使用lambda表达式来实现短函数调用。Lambda表达式是一个匿名函数,它可以传递给方法或存储在变量中,以便在需要时使用。
IT千锋教育
2023/05/24
6750
java 如何实现短函数调用?
如何实现一个短链接服务 | 短链接生成原理
短链接,通俗来说,就是将长的URL网址,通过程序计算等方式,转换为简短的网址字符串。
梦溪
2021/08/09
19.1K3
视频转场特效
这里从头分析一下,视频转场特效设计的各个环节,打通各个细节的关键点。包括以下的内容:
jerrypxiao
2019/09/06
3.1K2
视频转场特效
SHORTNY短链接程序
注册了一个短的域名:nw5.cc  ,准备拿来做个短链接程序,随后找到了这个程序,首先感谢汉化作者一为,链接:https://nw5.cc/qt4z7
KINDYEAR
2022/07/12
2.7K0
SHORTNY短链接程序
使用Redis 做url 短连接
大家在生活中应该遇到过拼多多和淘宝复制内容到对应的app 就打开相关的页面 这是怎么实现的呢,其实就是app 获取粘贴板的内容,请求自己对应app 的服务接口获取真实的url ,这对用户是无感的。这里我们就用Redis 模拟一下(乞丐版)。 原理就是把url 存在Redis里面, 下一次在从Redis 里面取,在用视图解析modeView 跳转到制定的页面或者url .
分享干货的你
2021/04/06
1.7K0
如何找短域名
当我看到 Kevin Rose 的最新网站的域名,Pownce.com,我想可能我也应该去给自己买个短些即使有点怪的域名。
Denis
2023/04/14
1.3K0
如何找短域名
如何在小程序中实现视频播放
在如何使用小程序媒体组件这篇文章中,我们简单介绍了video视频组件的使用,这篇文章中,将对视频播放做一些补充,同时介绍API的使用。
f1不如蜗牛
2018/11/12
32.9K7
如何在小程序中实现视频播放
短链接的设计与实现
短链接的实现在生活中比较常见,比如我们接受到的广告短信,短信会包含他们的活动链接。
梁规晓
2020/11/05
2.1K0
短链接的设计与实现
URL短链接实现方法
最近项目开发中,需要实现URL长链接转短链接的需求,于是在网上找了一些资料,顺便整理了下,欢迎有想法的童鞋踊跃留言,我们共同探讨。
wangxl
2018/02/25
7.5K1
URL短链接实现方法
Go实现短url项目
首先说一下这种业务的应用场景: 把一个长url转换为一个短url网址 主要用于微博,二维码,等有字数限制的场景 主要实现的功能分析: 把长url的地址转换为短url地址 通过短url获取对应的原始长u
coders
2018/03/19
1.2K0
Go实现短url项目
URL短链接实现方法
最近项目开发中,需要实现URL长链接转短链接的需求,于是在网上找了一些资料,顺便整理了下,欢迎有想法的童鞋踊跃留言,我们共同探讨。 一.短链接的好处 1.内容需要(比如短信,微博中链接字数的限制) 2.便于管理(方便后台跟踪点击量,便于统计) 3.用户友好(看起来很Cool,提升用户体验) 大致思路是定义一个URL映射算法,将长的URL映射到短的URL,使用数据库或者redis缓存存储映射关系,实现映射算法。其中关键部分在于映射算法,接下来我们就详细说下映射算法。 二.映射算法 1.进制转
wangxl
2018/03/09
3.4K0
短链接 url 压缩程序 Polr
我一直在用这个短链接压缩程序,最近刚好有朋友问到,就写一下教程。 其实很简单,虚拟主机都能安装,但是推荐用 vps 安装,因为虚拟主机只能使用 1.5.1 版本。
eallion
2022/12/20
1.1K0
短链接系统如何设计
今天给大家带来的文章是:《短链接系统如何设计》。在开始之前,先让我们熟悉一下什么是长链接:
shigen
2023/10/14
3550
短链接系统如何设计
常用短代码插件:WPJAM Basic 的短代码扩展
很多国内主题只针对WP经典编辑器做了扩展,而古腾堡编辑器却要屏蔽(虽然我认为古腾堡编辑器的功能极其强大,完爆经典编辑器。),经典编辑器中很多内容无法自己生成,例如表格之类的,所以这款免费插件就能帮你!
会长君
2023/04/25
1.4K0
常用短代码插件:WPJAM Basic 的短代码扩展
短URL服务的设计与实现
作者:呼延十原文:https://juejin.im/post/5d10ecab518825795a4d380e
Bug开发工程师
2019/07/09
7470
短URL服务的设计与实现
小程序标签页切换效果
小程序标签页切换效果 效果: image.png 效果 .wxml <view class='topTabSwiper'> <view class='tab {{currentData == 0
达达前端
2019/07/04
2.1K0
短URL服务的设计以及实现
最理想的情况是: 我们用一种算法,对每一个长URL,唯一的转换成短URL.还能保持反向转换的能力.
架构之家
2022/07/12
5000
短URL服务的设计以及实现
点击加载更多

相似问题

你好,小程序做实时音视频,能实现拨打视频电话吗?

1412

小程序做实时音视频开发?

1266

小程序做的视频点播,IOS系统问题?

0256

小程序实时视频如何实现自己的视屏窗口与对方视屏窗口的切换?

0362

web端和小程序端如何实现视频回放?

0187
相关问答用户
腾讯云TDP | TDP会员擅长3个领域
到家集团 | 技术VP擅长5个领域
平安资管 | 架构师擅长4个领域
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

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

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文