Why https?
- HTTP 明文传输,数据都是未加密的,安全性较差,HTTPS(SSL+HTTP) 数据传输过程是加密的,安全性较好。
- 使用 HTTPS 协议需要到 CA(Certificate Authority,数字证书认证机构) 申请证书,一般免费证书较少,因而需要一定费用。证书颁发机构如:Symantec、Comodo、GoDaddy 和 GlobalSign 等。
- HTTP 页面响应速度比 HTTPS 快,主要是因为 HTTP 使用 TCP 三次握手建立连接,客户端和服务器需要交换 3 个包,而 HTTPS除了 TCP 的三个包,还要加上 ssl 握手需要的 9 个包,所以一共是 12 个包。
- http 和 https 使用的是完全不同的连接方式,用的端口也不一样,前者是 80,后者是 443。
- HTTPS 其实就是建构在 SSL/TLS 之上的 HTTP 协议,所以,要比较 HTTPS 比 HTTP 要更耗费服务器资源。
- 更多详情 菜鸟教程 http vs https
tomcat 8.5配置https
- 申请免费ssl证书,当然我们也可以自己生成,但是会被浏览器识别为危险,不安全的连接,如何免费申请参考链接:ssl免费证书的申请
- 下载在你的SSL控制管理台下载pfx格式的安全证书,
- 下载后的文件夹中有两个文件一个为 *.pfx, 另一个 txt 文件为你当前这个证书的密码,在 tomcat 的安装目录下新建一个 cert 文件夹,将你的证书拷贝到里边,之后去 tomcat 的安装文件夹中打开
conf
字文件夹下的 server.xml
配置
<Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol"
maxThreads="150" SSLEnabled="true">
<SSLHostConfig>
<Certificate
certificateKeystoreFile="cert/你的证书名称.pfx"
certificateKeystorePassword="你的证书密码"
certificateKeystoreType="PKCS12"
/>
</SSLHostConfig>
</Connector>
- 重启你的tomcat,去 tomacat 安装目录下的 bin 文件夹,分别执行
shutdonw.sh
startup.sh
完成之后你的https就配置成功了
注意事项
- 在服务器上有时候重启 tomcat 之后访问会超时,一般这个时候如果你的配置没有问题的话不要急,等5分钟之后就好了,我配置的时候就是这样
- 注意证书格式 pfx 如果是 .pem的不适应上述配置方法
- 注意tomcat的版本,tomcat8.5及以上采用这种配置方式没有问题,但是tomcat7并非如此,参考不同tomcat版本配置 SSL 证书