websocket适配https

总有改不完的bug

之前一直使用的http请求,但最近一项测试中用了https请求,项目中的websocket推送功能突然失效了,于是喜提bug一枚。

搭建本地测试环境

tomcat配置https,这里使用java安装时自带的keytool即可。

在命令窗口输入(已经配置了java环境变量 jdk1.8)

C:\Users\Administrator>keytool -genkey -alias tomcat -keyalg RSA
输入密钥库口令:
再次输入新口令:
您的名字与姓氏是什么?
  [Unknown]:  tyf
您的组织单位名称是什么?
  [Unknown]:  zw
您的组织名称是什么?
  [Unknown]:  zw
您所在的城市或区域名称是什么?
  [Unknown]:  taiyuan
您所在的省//自治区名称是什么?
  [Unknown]:  shanxi
该单位的双字母国家/地区代码是什么?
  [Unknown]:  cn
CN=tyf, OU=zw, O=zw, L=taiyuan, ST=shanxi, C=cn是否正确?
  []:  y

输入 <tomcat> 的密钥口令
        (如果和密钥库口令相同, 按回车):
再次输入新口令:

Warning:
JKS 密钥库使用专用格式。建议使用 "keytool -importkeystore -srckeystore C:\Users\Administrator\.keystore -destkeystore C:\Users\Administrator\.keystore -deststoretype pkcs12" 迁移到行业标准格式 PKCS12。

将生成的.keystore文件复制到tomcat的bin目录下。

PS E:\tomcat\tomcat8083\bin> keytool -selfcert -alias tomcat -keystore .keystore
输入密钥库口令:

Warning:
JKS 密钥库使用专用格式。建议使用 "keytool -importkeystore -srckeystore .keystore -destkeystore .keystore -deststoretype pkcs12" 迁移到行业标准格式 PKCS12。
PS E:\tomcat\tomcat8083\bin> keytool -importkeystore -srckeystore .keystore -destkeystore .keystore -deststoretype pkcs1
2
输入源密钥库口令:
已成功导入别名 tomcat 的条目。
已完成导入命令: 1 个条目成功导入, 0 个条目失败或取消

Warning:
已将 ".keystore" 迁移到 Non JKS/JCEKS。将 JKS 密钥库作为 ".keystore.old" 进行了备份。
PS E:\tomcat\tomcat8083\bin>

接下来修改tomcat的server.xml文件

<Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol"
               maxThreads="150" SSLEnabled="true" scheme="https" secure="true"
			   keystoreFile="bin/.keystore" keystorePass="123456" 
               clientAuth="false" sslProtocol="TLS" />

keystorePass=“123456” 这个就是输入的密钥库口令。
测试环境 就搭建完毕了,启动项目后,访问:https://localhost:8443/projectName 就可以了。

“Bug”修改

在http协议中websocket与后台通信使用 ws://localhost:8443/projectName/**
在https协议下,需要改成 wss://localhost:8443/projectName/**

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值