Tomcat 配置 HTTPS 实操指南
一 准备证书与密钥库
二 配置 server.xml 启用 HTTPS
示例 1(Tomcat 8.5+,JKS,推荐)
<Connector port="443" protocol="org.apache.coyote.http11.Http11NioProtocol"
maxThreads="150" SSLEnabled="true" defaultSSLHostConfigName="your.domain">
<SSLHostConfig hostName="your.domain">
<Certificate certificateKeystoreFile="conf/your_domain.jks"
certificateKeystorePassword="your_password"
type="RSA"/>
</SSLHostConfig>
</Connector>
示例 2(Tomcat 9,PFX/PKCS12,传统写法)
<Connector port="443" protocol="org.apache.coyote.http11.Http11NioProtocol"
maxThreads="150" SSLEnabled="true"
scheme="https" secure="true"
keystoreFile="conf/server.pfx"
keystorePass="your_password"
clientAuth="false" sslProtocol="TLS"/>
示例 3(测试环境,端口 8443)
<Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol"
maxThreads="150" SSLEnabled="true">
<SSLHostConfig>
<Certificate certificateKeystoreFile="conf/keystore.jks"
type="RSA"
certificateKeystorePassword="changeit"/>
</SSLHostConfig>
</Connector>
三 配置 HTTP 自动跳转 HTTPS
<login-config>
<auth-method>CLIENT-CERT</auth-method>
<realm-name>Client Cert Users-only Area</realm-name>
</login-config>
<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>
同时确保 HTTP 连接器的 redirectPort=“443”,这样访问 http:// 会被容器自动重定向到 https://。
方式二 在前端反向代理(如 Nginx/Apache)上做 80→443 跳转,后端 Tomcat 仅开启 443。
四 进阶 双向认证(mTLS)
<Connector port="443" protocol="org.apache.coyote.http11.Http11NioProtocol"
maxThreads="200" SSLEnabled="true"
scheme="https" secure="true"
keystoreFile="conf/server.p12"
keystorePass="server_pwd"
clientAuth="true"
truststoreFile="conf/server_truststore.p12"
truststorePass="trust_pwd"
sslProtocol="TLS"/>
五 验证与常见问题
访问测试
常见问题排查
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。