住房和城乡建设部官方网站已前程无忧招聘网

news/2025/10/6 22:22:56/文章来源:
住房和城乡建设部官方网站已,前程无忧招聘网,淄博的大型网站建设,岳阳网站平台设计需求#xff1a;项目中需要使用netty#xff0c;本地测试的时候使用的是ws#xff0c;然后要部署到服务器上#xff0c;使用https连接#xff0c;https下就不能用ws了#xff0c;必须升级到wss 1.阿里云申请免费证书 2.保存证书到本地目录 3.修改代码 SslUtil 工具类…需求项目中需要使用netty本地测试的时候使用的是ws然后要部署到服务器上使用https连接https下就不能用ws了必须升级到wss 1.阿里云申请免费证书 2.保存证书到本地目录 3.修改代码 SslUtil 工具类 import io.netty.handler.ssl.ClientAuth; import io.netty.handler.ssl.SslContext; import io.netty.handler.ssl.SslContextBuilder;import java.io.File;/*** netty 证书*/ public class SslUtil {private static final File pemFile new File(C:\\Users\\Lenovo\\Desktop\\zhengshu\\server.pem);private static final File keyFile new File(C:\\Users\\Lenovo\\Desktop\\zhengshu\\server.key);public static SslContext createSSLContext() throws Exception {SslContext sslCtx SslContextBuilder.forServer(pemFile, keyFile).clientAuth(ClientAuth.NONE).build();return sslCtx;}}自定义handler中增加代码 Override protected void initChannel(SocketChannel socketChannel) throws Exception {ChannelPipeline pipeline socketChannel.pipeline();//ws升级为wssSslContext sslCtx SslUtil.createSSLContext();pipeline.addLast(sslCtx.newHandler(socketChannel.alloc()));//30秒客户端没有向服务器发送心跳则关闭连接pipeline.addLast(new IdleStateHandler(15, 0, 0));// 因为使用http协议所以需要使用http的编码器解码器pipeline.addLast(new HttpServerCodec());// 以块方式写添加 chunkedWriter 处理器pipeline.addLast(new ChunkedWriteHandler());/*** 说明* 1. http数据在传输过程中是分段的HttpObjectAggregator可以把多个段聚合起来* 2. 这就是为什么当浏览器发送大量数据时就会发出多次 http请求的原因*/pipeline.addLast(new HttpObjectAggregator(8192));/*** 说明* 1. 对于 WebSocket它的数据是以帧frame 的形式传递的* 2. 可以看到 WebSocketFrame 下面有6个子类* 3. 浏览器发送请求时 ws://localhost:7000/hello 表示请求的uri* 4. WebSocketServerProtocolHandler 核心功能是把 http协议升级为 ws 协议保持长连接* 是通过一个状态码 101 来切换的*/pipeline.addLast(new WebSocketServerProtocolHandler(/websocket));// 自定义handler 处理业务逻辑pipeline.addLast(new NettyWebSocketServerHandler()); } });增加这两行代码 SslContext sslCtx SslUtil.createSSLContext(); pipeline.addLast(sslCtx.newHandler(socketChannel.alloc()));4.测试 结果报错 原因查阅资料netty仅仅支持pkcs8当前为pem/key的格式的也就是PKCS1的 证书格式区别 PKCS1的文件头格式 -----BEGIN RSA PRIVATE KEY-----PKCS8的文件头格式 -----BEGIN PRIVATE KEY----- 解决将证书(server.key) 通过OpenSSl 生成pkcs8的版本 1.下载OpenSSL https://www.oomake.com/download/openssl 下载 OpenSSL 3.0.0 Windows 64位 Light 版.exe 版本 2.将安装了路径加到环境变量中 3.在证书目录打开cmd执行下面命令 openssl pkcs8 -topk8 -inform PEM -in server.key -outform pem -nocrypt -out server8.key修改SslUtil工具类中路径 private static final File keyFile new File(C:\\Users\\Lenovo\\Desktop\\zhengshu\\server8.key);4.打开postman再次测试 我的websocket端口配置的是9000 访问ws://127.0.0.1:9000/websocket 会报错 io.netty.handler.codec.DecoderException: io.netty.handler.ssl.NotSslRecordException: not an SSL/TLS record 访问wss://127.0.0.1:9000/websocket 连接成功至此ws成功升级为wss

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

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

相关文章

Windows+VSCode搭建小智(xiaozhi)开发环境 - 教程

Windows+VSCode搭建小智(xiaozhi)开发环境 - 教程2025-10-06 22:21 tlnshuju 阅读(0) 评论(0) 收藏 举报pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; disp…

StarTree支持Apache Iceberg扩展湖仓用例

StarTree宣布其云服务全面支持Apache Iceberg,实现直接查询Iceberg表而无需移动或转换底层数据,解决了高并发实时查询的挑战,同时避免了数据重复存储和复杂管道构建。StarTree支持Apache Iceberg以扩展湖仓用例 基于…

偏微分方程的解

偏微分方程的解求未知函数。

如何在 HTML 中添加按钮 - 实践

如何在 HTML 中添加按钮 - 实践pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco&quo…

网站备案的链接如何创建电商平台

前言 这篇文章用于记录阿里天池 NLP 入门赛,详细讲解了整个数据处理流程,以及如何从零构建一个模型,适合新手入门。 赛题以新闻数据为赛题数据,数据集报名后可见并可下载。赛题数据为新闻文本,并按照字符级别进行匿名…

jsp网站开发视频教程关键词网站排名软件

来源:中国科学报去年,当一颗美式足球场大小的雪茄形天体Oumuamua进入太阳系时,它并非仅仅让人们第一次看到了一块星际岩石。根据一项新的研究,这也支持了太空岩石通过在遥远的恒星系统之间运送微生物,从而在星际间传播…

Road Trip of the National Day holiday

During the National Day holiday, I went on a road trip with my wife to western Sichuan. We started from Chengdu and passed through Yaan and Luding. On the first day, we visted the "Red Army Flying…

selenium基础 - 教程

selenium基础 - 教程pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "…

贵阳网站建设公企业型网站

前言 在之前的博客中: 1.Surface Web —> Deep Web —> Dark Web,我们解释了表层网络、深层网络等的相关概念; 2.Tor浏览器——层层剥开洋葱,我们阐述了Tor的历史和基本工作原理; 3.Tor浏览器…

详细介绍:20250602在荣品的PRO-RK3566开发板的Android13下的uboot启动阶段配置BOOTDELAY为10s

详细介绍:20250602在荣品的PRO-RK3566开发板的Android13下的uboot启动阶段配置BOOTDELAY为10s2025-10-06 22:08 tlnshuju 阅读(0) 评论(0) 收藏 举报pre { white-space: pre !important; word-wrap: normal !impo…

兰州网站seo收费交友视频网站建设

61、在Word 2003中,下列关于查找操作的叙述,正确的是 。A、使用查找命令时,可以区分全角和半角字符,但不能区分大小写B、不支持用通配符来描述查找内容C、查找时只能从文档开始处进行D、除了可以按文字的内容进行查找,…

济南海绵城市建设官方网站网络购物消费者行为论文

原创:项道德(daode3056,daode1212) 在量子力学中,许多现象都是统计的结果,基本上用的是正态分布,然而,从本质上思考,应该还存在低阶的分布,标准的正态分布是它的极限,这样一来,或许在…

完整教程:基于单片机的FFT的频谱分析仪设计

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

费马小定理的证明

费马小定理:若 \(p\) 为质数,则 \(x^{p}\equiv x(\text{mod}\ p)\)。特别地,若 \(p\not\mid x\),则 \(x^{p-1}\equiv 1(\text{mod}\ p)\)。 首先,若 \(p\mid x\),则 \(x\equiv 0(\text{mod}\ p)\Leftrightarrow …

中国建设银行员工学习网站网站设计培训

📕作者简介:热编程的贝贝,致力于C/C、Java、Python等多编程语言,热爱跑步健身,喜爱音乐的一位博主。 📗本文收录于贝贝的日常汇报系列,大家有兴趣的可以看一看 📘相关专栏深度学习、…

深入解析:生成https 证书步骤

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

自己网站联系电话修改怎么做网站制作与网站建设

建造者模式(Builder Pattern)使用多个简单的对象一步一步构建成一个复杂的对象。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。 一个 Builder 类会一步一步构造最终的对象。该 Builder 类是独立于其他对象的。 代码实…

校园学生网站开发自己如何建设微信网站

背景 阿里云API网关服务提供API托管服务,提供了强大的适配和集成能力,可以将各种不同的业务系统API实现统一管理。API网关同时支持将API访问日志一键存储到日志服务,通过日志服务强大的查询分析能力,用户可以针对访问日志自定义计…

做外贸怎样浏览国外网站有没有在网上做ps赚钱的网站

职业高中毕业的自我鉴定范文300字自我鉴定就是把一个时段的个人情况进行一次全面系统的总结,自我鉴定可以让我们对自己有个正确的认知,不如立即行动起来写一份自我鉴定吧。我们该怎么去写自我鉴定呢?下面是小编精心整理的职业高中毕业的自我鉴…

如何建立内部网站网站建设的威胁

1. 🌈题目详情 1.1 ⚠️题目 给出一个二叉树如下图所示: 请由该二叉树生成一个新的二叉树,它满足其树中的每个节点将包含原始树中的左子树和右子树的和。 左子树表示该节点左侧叶子节点为根节点的一颗新树;右子树表示该节点右侧叶子节点为根节点的一颗新树。 1.2 �…