Tomcat服务器SSL配置全解析(2025版)

版本要求:本教程适用于Tomcat 7 / 8.5 及以上,需要Java运行环境

一、准备工作

  1. 已获取PFX格式SSL证书文件(含私钥)(从控制台下载)
  2. 开放防火墙端口:sudo firewall-cmd --add-port=8443/tcp --permanent

二、证书配置流程

Tomcat SSL配置步骤

(1)配置server.xml (Tomcat 7 的配置)

<!-- #port属性根据实际情况修改(HTTPS默认端口为443)。如果使用其他端口号,则您需要使用https://domain_name:port的方式来访问您的网站。
keystoreFile值需替换为证书的实际路径。
keystorePass值需替换为证书密码文件pfx-password.txt中的内容。
如需了解其他配置项,请前往Tomcat官网查看。-->
<Connector port="443"
           protocol="HTTP/1.1"
           SSLEnabled="true"
           scheme="https"
           secure="true"
           keystoreFile="conf/domain_name.pfx"
           keystoreType="PKCS12"
           keystorePass="证书密码"
           clientAuth="false"
           SSLProtocol="TLSv1.1+TLSv1.2+TLSv1.3"
           ciphers="TLS_RSA_WITH_AES_128_CBC_SHA,TLS_RSA_WITH_AES_256_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256,TLS_RSA_WITH_AES_128_CBC_SHA256,TLS_RSA_WITH_AES_256_CBC_SHA256"/>

(2)配置server.xml (Tomcat 8.5 以上配置)

<Connector port="443" protocol="org.apache.coyote.http11.Http11NioProtocol"
            maxThreads="150" SSLEnabled="true"
            maxParameterCount="1000">
    <SSLHostConfig>
        
        <Certificate certificateKeystoreFile="conf/domain_name.pfx"
                     certificateKeystorePassword="证书密码"
                     type="RSA"/>
    </SSLHostConfig>
</Connector>
安全建议:禁止使用HTTP/1.0协议,建议禁用SSLv3

三、高级安全配置

HTTP自动跳转HTTPS

<!-- 在web.xml最后添加 -->
<security-constraint>
  <web-resource-collection>
    <url-pattern>/*</url-pattern>
  </web-resource-collection>
  <user-data-constraint>
    <transport-guarantee>CONFIDENTIAL</transport-guarantee>
  </user-data-constraint>
</security-constraint>