HTTP转HTTPS -tomcat_9.0 相关配置

Posted 有求必应

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了HTTP转HTTPS -tomcat_9.0 相关配置相关的知识,希望对你有一定的参考价值。

首先我先罗列一下前提

1、我的域名是xiangjiakang.cn -腾讯买的

2、我的服务器是阿里买的

3、ssl证书是阿里免费送的(https就靠这个证书!)

4、然后我先说明一下:我看了许多许多博客和阿里的帮助文档,按我的做一定会成功。(他们都没说特别明白,甚至有人长篇大论,恶心人)

5、不懂的加QQ群:950855473 帮助更多的人,同时希望认识更多的优秀朋友。

 

我既然讲了这个,那你一定是具备了一台服务器和域名了,并且你已经备案成功,发布了自己的网站了,只不过是http的。

 

第一步:拿下SSL证书


1、去阿里直接搜索 ssl

 

2、点击购买证书-选择免费版的(填写基本信息,提交审核前你需要 看3、域名解析

 

 

 

3、

 

 

 

 

 

 

 

 按阿里提出的要求,对应的字段填上对应的值,像这样

 

 

 

 

然后你就审核通过了,回到页面,马上把你的证书绑定上你自己的域名即可

 

4、下载你的证书,把文件放到服务器上去(在tomcat目录下新建一个文件夹 cert 

 

第二步:配置web.xml和server.xml(这两个文件都在tomcat的conf目录里)  (win和linux一样)

1、配置web.xml (滚动到最下面!粘贴到</web-app>这个标签的上面,目的是http的请求自动跳转到https

<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>

2、配置server.xml 

 

2.1、修改默认8080端口为80(80端口就不用写端口号了,浏览器默认80,443是https的的端口)    win和linux一样 

<Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />

 #找到以上参数,去掉<!- - 和 - ->这对注释符并修改为如下参数,对HTTPS默认端口进行配置:
 <Connector port="80" protocol="HTTP/1.1"   #将Connector port修改为80。
               connectionTimeout="20000"
               redirectPort="443" />    #将redirectPort修改为SSL默认端口443,让HTTPS请求转发到443端口。

2.2、配置证书相关信息

  <Connector port="8443"
          protocol="org.apache.coyote.http11.Http11NioProtocol"
          maxThreads="150"
          SSLEnabled="true">
        <SSLHostConfig>
            <Certificate       certificateKeystoreFile="cert/keystore.pfx"
             certificateKeystorePassword="XXXXXXX"
                         certificateKeystoreType="PKCS12" />

    #找到以上参数,去掉<!- -- ->这对注释符并修改为如下参数:
    <Connector port="443"   #将Tomcat中默认的HTTPS端口Connector port 8443修改为4438443端口不可通过域名直接访问、需要在域名后加上端口号;443端口是HTTPS的默认端口,可通过域名直接访问,无需在域名后加端口号。
          protocol="org.apache.coyote.http11.Http11NioProtocol"   #server.xml文件中Connector port有两种运行模式(NIOAPR),请选择NIO模式(也就是protocol="org.apache.coyote.http11.Http11NioProtocol")这一段进行配置。
          maxThreads="150"
          SSLEnabled="true">
        <SSLHostConfig>
            <Certificate       certificateKeystoreFile="/usr/local/tomcat/cert/证书域名.pfx"   #此处certificateKeystoreFile代表证书文件的路径,请用您证书的路径+文件名替换证书域名.pfx,例如:certificateKeystoreFile="/usr/local/tomcat/cert/abc.com.pfx"
             certificateKeystorePassword="证书密码"   #此处certificateKeystorePasswordSSL证书的密码,请用您证书密码文件pfx-password.txt中的密码替换,例如:certificateKeystorePassword="bMNML1Df"
             certificateKeystoreType="PKCS12" />   #证书类型为PFX格式时,certificateKeystoreType修改为PKCS12。
        </SSLHostConfig>
    </Connector>

 

 

3、重启服务器,ok了

以上是关于HTTP转HTTPS -tomcat_9.0 相关配置的主要内容,如果未能解决你的问题,请参考以下文章

http通过openssl转https

Sony XZP 8.0升级到9.0

转:《WWDC2017相关》

macOS 10.13中安装jre及jdk 9.0

HTTP1.0/1.1/2.0特性对比_转

(转)Openldap相关精品文章