tomcat http升级为https
一、从 百度云/腾讯云 下载SSL安全证书(免费版)
以百度云为例(先进行实名认证)
1.打开SSL证书购买,点击立即购买
- 点击免费型---》立即购买
- 支付完后进行申请操作
- 填上申请信息(域名,邮箱等)
- 等待申请通过,通过后点击下载证书,选择tomcat
- 解压下载的文件,会得到两个文件,一个是证书,一个是密码
- 配置tomcat
打开tomcat的conf/server.xml
1.配置Tomcat,打开$CATALINA_HOME/conf/server.xml,修改如下,
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
修改参数为=>
<Connector port="80" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="443" />
2.去掉注释且修改参数为=>
<Connector port="443" protocol="HTTP/1.1" SSLEnabled="true"
maxThreads="150" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS" keystoreFile="" keystorePass=""/>
注:
keystoreFile的值为刚才解压的两个文件中证书的文件路径
keystorePass的值为刚才解压的pfx-password.txt中的密码
3.修改参数
<Connector port="8009" enableLookups="false" protocol="AJP/1.3" redirectPort="443" />
4.打开conf/web.xml
在 </welcome-file-list>后面加上:
<security-constraint>
<web-resource-collection >
<web-resource-name >SSL</web-resource-name>
<url-pattern>/*</url-pattern>
</web-resource-collection>
<user-data-constraint>
<transport-guarantee>CONFIDENTIAL</transport-guarantee>
</user-data-constraint>
</security-constraint>
- 重启tomcat
注:干掉占用80或者443的端口
四、注意事项:
1.生成证书的时间,如果IE客户端所在机器的时间早于证书生效时间,或者晚于有效时间,IE会提示“该安全证书已到期或还未生效
2.如果报找不到静态资源文件的错误,需要在head上加上meta
<meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
3.如果显示证书错误
(1)选择“查看证书”可以了解到这份证书的详细信息。
(2)点击“安装证书”按钮,此时会弹出一个证书安装向导,单击“下一步”按钮继续,在进入“证书存储”这一步时,注意不要选择“根据证书类型,自动选择证书存储”,而是应该选择“将所有的证书放入下列存储”,然后单击后面的“浏览”按钮,手工指定存储路径为“受信任的根证书颁发机构”
(3)系统会弹出安全性警告的对话框,确认后即可安装成功。证书导入成功后关闭所有IE窗口后重新打开,再次访问该站点时就正常了。
4.重要的一点就是要把电脑的日期时间设置好,设置成网络同步时间,否则还是不行的。