tomcat 将http协议改为https协议,Websocket请求ws协议修改为wss协议
一、 说明
- WS协议和WSS协议两个均是WebSocket协议的SCHEM,两者一个是非安全的,一个是安全的,也是统一的资源标志符。就好比HTTP协议和HTTPS协议的差别。非安全的没有证书,安全的需要SSL证书。(SSL是Netscape所研发,用来保障网络中数据传输的安全性,主要是运用数据加密的技术,能够避免数据在传输过程被不被窃取或者监听。)其中WSS表示在TLS之上的WebSocket。WS一般默认是80端口,而WSS默认是443端口,
- 在https下应该使用wss协议做安全链接,且wss下不支持ip地址的写法,写成域名形式
http -> new WebSocket('ws://xxx')
https -> new WebSocket('wss://xxx')
二、操作
项目不需要做任何修改
3. 申请证书
4. 将 证书放在tomcat的conf文件夹下
5. 修改tomcat的server文件
找到server.xml文件中注释掉的一段代码
取消注释 做如下修改
<Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol"
maxThreads="150" SSLEnabled="true">
<SSLHostConfig>
<Certificate certificateKeystoreFile="conf/localhost-rsa.jks"
type="RSA" certificateKeystorePassword="1111"/>
</SSLHostConfig>
</Connector>
certificateKeystoreFile:证书路径
certificateKeystorePassword:证书使用密码
现在可以使用https协议以及wss协议了,但是访问时,用申请证书时设置的域名