欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Tomcat8.5服务器配置Https协议的SSL证书及Http自动跳转到Https

程序员文章站 2022-04-30 23:37:01
...

笔者用的是阿里云的服务器和免费证书(穷

首先 需要去阿里云的SSL证书管理控制台下载SSL证书

Tomcat8.5服务器配置Https协议的SSL证书及Http自动跳转到Https
下过来是这样的:
Tomcat8.5服务器配置Https协议的SSL证书及Http自动跳转到Https

然后 把证书中的pfx后缀的文件复制到 tomcat/conf/cert 目录下

也可复制到tomcat/cert下 看自己喜好 只要配置的时候填写的路径一致即可
:只需复制pfx文件
cert 目录默认是不存在的 需要自己创建
创建完了把pfx文件传上去即可

然后修改服务器的server.xml文件

注:这是Tomcat8.5版本的配置 Tomcat7版本的配置文件是不一样的 Tomcat8好像也不一样

路径:Tomcat安装目录/conf/server.xml

第一步:定位到<Connector port="80"”
配置默认端口
改为:

<!-- 配置默认端口  -->
 <Connector port="80" protocol="HTTP/1.1"
   connectionTimeout="20000"
    redirectPort="443" />

第二步:再定位到<Connector port="8443"
配置443端口的连接
改为:

<Connector port="443" protocol="org.apache.coyote.http11.Http11NioProtocol"
       SSLEnabled="true" >
   <SSLHostConfig>                            <!--证书文件所在的目录  -->                             
        <Certificate certificateKeystoreFile="conf/cert/*****.pfx" 
                     certificateKeystoreType="PKCS12" certificateKeystorePassword="密码" /> 
    </SSLHostConfig>
</Connector>

最后一步:再定位到<Connector port="8009"
配置默认转发端口
改为:

<!--默认转发端口-->
<!-- <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" /> -->
<Connector port="8009" protocol="AJP/1.3" redirectPort="443" />

如果是阿里云的话 记得要开启相应的权限组 否则会被阿里云拦截 导致访问不了
Tomcat8.5服务器配置Https协议的SSL证书及Http自动跳转到Https
完美!
这样就大功告成了?还没有
这样的话 用http协议还是能访问 只不过会提示不安全

我们还可以将http自动转为https

conf/web.xml下配置
在内容最底部加入如下配置(迟迟翻不到底的话 输入99999j 直接跳99999行 直接到底部):

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

Tomcat8.5服务器配置Https协议的SSL证书及Http自动跳转到Https

如此 大功告成