网站升级https访问,webscoket升级wss问题

news/2024/11/28 22:31:18/

前段时间,网站访问由http变更为https,但是由于webscoket功能受到影响,报错如下:webscoket报错
跟前端沟通解决方式问题,前端回复说很麻烦,暂时不要做了。

今天突发奇想,我是不是可以在nginx中修改配置,在前端打包给我的js文件中,修改webscoket路径也能解决这个问题。
1>
原js中配置的websocket地址为:119.3..:9080,修改为目前的网站域名,去掉端口号;
2>
修改nginx配置文件,因为原来是直接ip端口访问,nginx中并未配置相关信息,所以此处为添加配置信息:

location /websocket/ {	          proxy_pass http://127.0.0.1:9080/websocket/;	#这个version一定要带这,不然nginx不认为他是一个webscoket访问,直接给你返回400proxy_http_version 1.1;proxy_set_header Upgrade $http_upgrade;proxy_set_header Connection "upgrade";proxy_set_header Host $host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;}

注意:websocket配置,千万不要将其他的配置复制粘贴了之,我起初就是粘贴复制的,发现一直有问题,原来是多复制了个proxy_pass_header User-Agent;
3>
设置定时任务,因为nginx默认的连接超时时间为60s,我改成120s之后,还是会抛出异常:

java.io.EOFExceptionat org.apache.tomcat.util.net.NioEndpoint$NioSocketWrapper.fillReadBuffer(NioEndpoint.java:1231)at org.apache.tomcat.util.net.NioEndpoint$NioSocketWrapper.read(NioEndpoint.java:1141)at org.apache.tomcat.websocket.server.WsFrameServer.onDataAvailable(WsFrameServer.java:72)at org.apache.tomcat.websocket.server.WsFrameServer.doOnDataAvailable(WsFrameServer.java:171)at org.apache.tomcat.websocket.server.WsFrameServer.notifyDataAvailable(WsFrameServer.java:151)at org.apache.tomcat.websocket.server.WsHttpUpgradeHandler.upgradeDispatch(WsHttpUpgradeHandler.java:148)at org.apache.coyote.http11.upgrade.UpgradeProcessorInternal.dispatch(UpgradeProcessorInternal.java:54)at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:59)at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:868)at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1594)at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)at java.lang.Thread.run(Thread.java:748)

所以我设置了一个定时任务,30秒发一条信息到前端,前端收到后,再给我返回一条信息,
定时任务消息
这里呢,我的是springboot项目,因为定时任务和websocket不能同时启动,所以从某网站cv了一段代码

@Configuration
public class ScheduledConfig {@Beanpublic TaskScheduler taskScheduler(){ThreadPoolTaskScheduler taskScheduler = new ThreadPoolTaskScheduler();taskScheduler.setPoolSize(10);taskScheduler.initialize();return taskScheduler;}
}

然后配置定时任务

@Scheduled(cron = "0/30 * * * * ?")
public void sentHeartBeadTask() {#方法自己定义,我这里是这样的,发送消息就简单了,不用贴代码了吧。msgWebSocket.KeepThread();
}

最后,我还是想让前端处理一下,每次修改服务器,都要改js中域名的问题。

学习这个东西呢,还是自己催着自己走,啥都可以试一试,万一成功了呢?


http://www.ppmy.cn/news/215671.html

相关文章

Tomact升级步骤

本文以apache-tomcat-6.0.18升级为apache-tomcat-7.0.85为例。 目录 一、准备Tomcat包 二、升级步骤 2.1、停服务 2.2、打包现有Tomcat目录下logs和webapps目录 2.3、备份现有Tomcat目录 2.4、上传Tomcat安装包至 $HOME 下并解压 2.5、修改环境变量及启动脚本参数 2.6…

禅道升级踩坑

1、本公司的禅道8.2.1,我发现没有用例套件的功能,需要升级到9.0.1才行; 2、从网上下载一看已经到10.4,那就升级到这个版本吧; 3、服务器配置: roottemplet:/opt/zbox/app/zentao/config# uname -a Linux…

全面升级HTTPS访问

全面升级HTTPS访问 HTTPS是什么? HTTPS(全称:Hyper Text Transfer Protocol over Secure Socket Layer),是以安全为目标的 HTTP 通道,简单讲是 HTTP 的安全版。即 HTTP 下加入 SSL 层,HTTPS 的…

Nginx升级1.20.1后访问出现403之解决

安全扫描提示Nginx出现安全漏洞。 一共8个漏洞涉及多个nginx版本。经过考虑决定升级到1.20.1. 下载安装包,使用tar解包。 在服务器端,执行nginx -V查看当前nginx使用了那些配置参数。 然后使用./configure 参数使用nginx -V查到的参数,但是…

域名升级访问中拿笔记好_好记性也应做笔记,安利一款比onenote更好用的云笔记工具...

今天介绍的这款工具真是相见恨晚。所以用了一周后紧急推荐给大家,目的是把好东西尽早的分享出来让大家早用到。 首先声明,这不是一个广告,也未收取广告费。是纯推荐,虽然对方有收费服务,但对于个人用户,免费版本已经很好用了。 其他工具的痛点 首先小编说说为何觉得它好吧…

域名升级访问中拿笔记好_域名选择与老域名质量评分,尽量少踩坑

关于"域名选择与老域名质量评分"与"适合seo服务器选择与服务器安全搭建"2小节课程,本来上周三,周五已经讲完了,但是这个回放课程一直被自己找各种理由往后托,笔记也没做!好吧,看啦灰牛在学习这块还是不够积极呀!然后午休的时候看了下"域名选择与老域名…

域名升级访问中拿笔记好_赶快看看你的电脑中是否被植入了这个软件

​近日,有技术爱好者反映其电脑主板 BIOS 中预置了一款由 Absolute 公司开发的防盗追踪软件 Computrace。电脑启动后,操作系统会隐蔽安装该软件,经常向境外传输不明数据。 该软件可以远程获取电脑中的用户文件,控制用户系统,监控用户行为,甚至可以在没有授权的情况下自动…

访问页面升级访问_BPC页面访问缓慢无报错

概述 引起BPC的页面访问缓慢的原因有很多,可能是由于网络慢、可能是由于BPC进程太忙、也可能是由于mongo数据库性能吃紧,所以对于页面访问缓慢需要根据具体情况实施解决方案 注意:本文分析的页面访问缓慢,仅是慢,但不报错 知识点 根据前台页面表现来大致区分一下问题的归属…