Tomcat服务器SSL配置全解析(2025版)
版本要求:本教程适用于Tomcat 7 / 8.5 及以上,需要Java运行环境
一、准备工作
- 已获取PFX格式SSL证书文件(含私钥)(从控制台下载)
- 开放防火墙端口:
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>