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>