Linux -- 为Tomcat配置SSL支持Https访问

  配置https访问可以通过配置Nginx或者通过配置Tomcat来支持,本文介绍为Tomcat配置SSL支持https访问。

1. 主要步骤

  1. 去CA机构申请SSL证书(阿里云、腾讯云都有免费一年的证书可以申请)
  2. 准备Tomcat服务器
  3. 在Tomcat根目录下创建一个固定文件夹 、将证书放入
  4. 配置conf/server.xml配置文件、conf/web.xml
  5. 如果开启了防火墙,需要打开SSL对应的端口

2. 实现

  1. 准备证书,第一个文件为.pfx 格式的证书,第二个是密码 后面配置需要的
    在这里插入图片描述
  2. 在Tomcat根目录下创建cert目录(目录名称随意),将证书放入cert目录下
  3. 配置conf/server.xml配置文件,配置ssl,这里将端口映射到了9999端口,内部转发到443端口
<!-- 配置默认端口  -->
 <Connector port="9999" protocol="HTTP/1.1"
   connectionTimeout="20000"
    redirectPort="443" />

  <!-- 配置证书文件信息  -->
    <Connector port="443" protocol="org.apache.coyote.http11.Http11NioProtocol"
               SSLEnabled="true" >
       <SSLHostConfig>                            <!--证书文件所在的目录  -->                             
            <Certificate certificateKeystoreFile="/root/tomcat/cert/cert-*****i.com.pfx" 
                         certificateKeystoreType="PKCS12" certificateKeystorePassword="xeh0VneU" /> 
                         <!--配置类型                   刚才password文件里面的密码 -->    
        </SSLHostConfig>
    </Connector>
  1. 配置conf/web.xml配置文件,配置后会将所有请求默认转为https,如果不配置的话就会https、http都可以访问,所以看需要配置了,不是必须的。
<!-- 配置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>
发布了66 篇原创文章 · 获赞 18 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/Aeve_imp/article/details/100668326