宝塔面板的Apache通过反向代理配置wss服务,反向代理端口后的wss问题解决

问题场景:

Websocket就是在web端上的全双工通信,一旦链接成功就是持久性的链接,不需要像Http那样请求一次那一次信息,浪费资源。

本次场景是在我用websocket配合echart在web端画出底层机器采集到数据实时显示到web端,本来在本地以及配置好,也能完美运行了,但是上传到服务器后就出现问题了。

websocket = new WebSocket("ws://127.0.0.1:8080/xxx");
websocket.onerror = function(e){/* console.info("onerror=>", e) */console.log(e);}

通过onerror  catch到readyState=3

通过查询到webSocket的readyState属性用来定义连接状态,该属性的值有下面几种:

0 :对应常量CONNECTING (numeric value 0),
正在建立连接连接,还没有完成。The connection has not yet been established.
1 :对应常量OPEN (numeric value 1),
连接成功建立,可以进行通信。The WebSocket connection is established and communication is possible.
2 :对应常量CLOSING (numeric value 2)
连接正在进行关闭握手,即将关闭。The connection is going through the closing handshake.
3 : 对应常量CLOSED (numeric value 3)
连接已经关闭或者根本没有建立。The connection has been closed or could not be opened.

 

那很明显我用上了SSL的Https的网址连接wss根本就没有建立。

这就是我找到的问题

 

问题分析:

然后因为云服务器的Apache的Https的端口默认是443的,如果又想运Apache又想运行一个Https的网站,明显不能同时用443端口,所以只能通过Apache的反向代理,把jar包的比如8080端口的反向代理到443端口,就能实现网站和Apache同时在机器上运行了。

那么因为我是通过 Apache 代理,将域名解析到指定端口来实现 Springboot 应用的上线,而 WebSocket 在握手的时候请求直接发送到 Apache。Apache 代理的时候没法将 WebSocket 握手请求传递给 Springboot 应用,结果就是握手失败,就是根本找不到连接了!

 

问题解决方法:

1, 进入宝塔面板, 网站 -> 设置,   *注: 网站绑定的域名必须是先支持https的

2,  查看反向代理的具体配置文件地址

 

3, 目录下只有一个文件, 将持久化连接配置, 按如下图加这两行代码。即可开启WSS

    ProxyPass /wss ws://www.xxx.com:port/ProxyPassReverse /wss ws://www.xxx.com:port/

 

最后!!!

如果你也是Apache反向代理后的,请在js那这样配置websocket的对象

websocket = new WebSocket("wss://网址:反向代理后的端口(比如8080,因为反向代理了,不可能是443的,注意这个,一定要加上反向代理后的端口)/xxx/xxxxxx");

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/69614.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

搭建网课查题搜题公众号,提供题库接口

搭建网课搜题公众号,首先需要一个公众号,我们一会按照步骤注册,还需要一个题库,题库接口对接到微信公众号后台,由于搭建题库比较麻烦,我直接提供我们自己的。目前题库里面题目的数量有2000万。后面有时间我…

搜题小程序的制作

现在小程序"网课爱搜题"已有2000多人使用,面向大学生网课答案 需要源码可以私聊

如何搭建一个可以搜题的微信公众号?完整教程

我们来讲讲怎么快速搭建这么一个公众号吧。 首先我们需要的材料: 1.登录自己的微信公众号(已经注册好的,直接登录自己公众号即可) 步骤一:进入注册公众号官网,直接百度搜索微信公众号平台或者点击下面链…

有没有可以搜索python程序的软件-有哪些可以搜Python题答案的APP

有哪些可以搜Python题答案的APP 发布时间:2020-07-27 10:00:44 来源:亿速云 阅读:146 今天就跟大家聊聊有关有哪些可以搜Python题答案的APP,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。可以搜Python题答…

可以搜python题答案的app-可以搜Python题答案的APP有哪些?

可以搜Python题答案的APP有:网课帮答题 、学小易 、助课宝、搜题宝 、微软数学 、Photomath、题多多 、作业帮、小猿搜题。 可以搜Python题答案的APP有 1.网课帮答题 开启悬浮窗随时搜题,无需离开网课软件,更高效率,手机网课在线考试必备,内置多个答案接口。可以边做题边…

【每周一本书】之《深度学习核心技术与实践》:“小猿搜题”团队倾力之作

【数据猿导读】 《深度学习核心技术与实践》主要介绍深度学习的核心算法,以及在计算机视觉、语音识别、自然语言处理中的相关应用 编辑 | sharon 官网 | www.datayuan.cn 微信公众号ID | datayuancn 《深度学习核心技术与实践》一书的大部分作者们从事机器学习相关工…

微信小程序:网课查题微信小程序源码下载,题库资源丰富自动采集,支持语音拍照识别

这是一款网课查题微信小程序源码 题库资源丰富自动采集, 支持语音拍照识别 该款采用接口方式,所以题库自动全网采集 而且该款小程序无需服务器和域名即可搭建 大家解压源码然后使用微信开发者工具打开源码 然后设置两个合法域名然后上传审核即可 小程序源码下载…

【猿人学WEB题目专解】猿人学第5题

🌈据说,看我文章时 关注、点赞、收藏 的 帅哥美女们 心情都会不自觉的好起来。 前言: 🧡作者简介:大家好我是 user_from_future ,意思是 “ 来自未来的用户 ” ,寓意着未来的自己一定很棒~ ✨个…

个人微信机器人API的Golang源码用于对接ChatGPT-唯一客服系统文档中心

前面我们写的是对接企业微信客服、微信公众号、微信小程序现在来对接一下个人微信机器人效果如图:基于唯一客服的机器人接口实现的.env文件的配置就是机器人接口 API_BASEhttps://{部署域名}/2/robotMessage API_ENT_ID{商户ID} REPLY_TYPEGROUP下面是微信个人机器人…

世界杯的比赛可以换6个人?

世界杯小组赛,英格兰对阵伊朗的比赛中,可能有朋友关注到一个细节,整场比赛,英格兰换了5个人,伊朗换了6个人,常规认识上,足球比赛不是只能换3个人? 1. 换5人 新冠疫情爆发后&#xff…

1.认识华为数据通信

一、华为设备图标 当然看看认识一下就好 二、什么是数据通信 人与人之间的交流就是一种通信,动物和动物之间的交流也是一种通信,你使用微信给你的朋友发送信息就是也是通信。人与人之间传递信息的方式是声音或者动作,计算机的传递信息就是通…

html 加载转圈功能

方式一&#xff1a; <html> <body> <input type"button" value"开始" onclick"ShowLoading(assa)"> <div> <div idpaneloading styledisplay:none;position:fixed;top:0px;left:0px;z-index:999999;width:100%;heigh…

postman一直转圈打不开

postman一直转圈打不开&#xff0c;还有英文的报错提示&#xff0c;翻译过来的大概意思是&#xff0c;当前的版本已经失效&#xff0c;需要更新。点击确定后就一直在转圈更新&#xff0c;提示更新需要几分钟。考虑到重新下载安装需要去翻账号密码以及添加文件等&#xff0c;所以…

百度输入法词库异常的解决办法

阴山Discovery 2020-08-14 10:16:12 因为关注百度输入法词库BUG&#xff08;参阅《百度输入法重大BUG&#xff1a;内存占用随用户词库增大而暴涨》&#xff09;&#xff0c;所以最近逛百度输入法贴吧比较多一些。 发现与词库相关的问题还比较多&#xff0c;其中吐槽报错最多的…

PC端输入法双拼皮肤分享

目录 介绍效果图搜狗输入法自然码双拼小鹤双拼搜狗双拼国标双拼微软双拼拼音加加智能ABC紫光双拼 百度输入法自然码双拼 QQ输入法自然码双拼 手心输入法自然码双拼 下载链接补充说明修改码表图流程 介绍 为方便自然码双拼初学者&#xff08;当时的我&#xff09;熟悉键位使用&…

百度手机输入法自定义码表

此文讨论用百度手机输入法的自定义输入法方案挂接郑码码表的方法。 首先&#xff0c;码表一份&#xff08;以极点格式为例&#xff09;&#xff0c;去掉 ~^ 标记符。去表头。 百度手机输入法的txt码表的格式如下&#xff1a; 用多多码表编辑器将原始码表转换为多多格式。转换后…

ubuntu20.04安装百度输入法,亲测有效!

** ubuntu20.04安装百度输入法&#xff0c;亲测有效&#xff01; ** 百度输入法&#xff0c;本人已经在Ubuntu20.04版本上成功安装&#xff0c;有图有真相。 百度已经提供Ubuntu20.04版本的输入法了&#xff0c;到百度输入法官网下载百度Linux版本的输入法就可以进行安装和使…

chatgpt赋能python:Python自动化办公教程:提高效率,节省时间

Python自动化办公教程&#xff1a;提高效率&#xff0c;节省时间 Python是一种高级编程语言&#xff0c;其拥有简单易学、开发快速的特点。除了在数据分析、人工智能等领域得到广泛应用外&#xff0c;Python也能够被用于自动化办公中&#xff0c;提高办公效率&#xff0c;节省…

python数据分析软件0代码,python数据分析软件开发

大家好&#xff0c;小编为大家解答python数据分析软件0代码的问题。很多人还不知道python数据分析处理软件&#xff0c;现在让我们一起来看看吧&#xff01; 1、sas和python的区别 sas和python的区别&#xff1a; 1.成本 SAS是商业软件&#xff0c;对于大部分个体数据分析师而言…