tomcat http升级为https

tomcat http升级为https

一、从 百度云/腾讯云 下载SSL安全证书(免费版)

以百度云为例(先进行实名认证)

1.打开SSL证书购买,点击立即购买

  1. 点击免费型---》立即购买
  2. 支付完后进行申请操作

  1. 填上申请信息(域名,邮箱等)
  2. 等待申请通过,通过后点击下载证书,选择tomcat
  3. 解压下载的文件,会得到两个文件,一个是证书,一个是密码

  • 配置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.重要的一点就是要把电脑的日期时间设置好,设置成网络同步时间,否则还是不行的。


版权声明:本文为JEROCHAN原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。