Java Tomcat 支持 HTTPS 的完整配置指南
一 准备证书与密钥库
keytool -genkey -alias tomcat -keyalg RSA -keysize 2048 -keystore keystore.jks -validity 365<SSLHostConfig> 中使用 PKCS12)。二 配置 Tomcat 启用 HTTPS
<Service> 内添加或修改 HTTPS Connector。Tomcat 8.5/9 推荐使用基于 SSLHostConfig 的新配置方式;Tomcat 7 常见为旧属性方式。<Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol"
maxThreads="150" SSLEnabled="true">
<SSLHostConfig>
<Certificate certificateKeystoreFile="conf/keystore.jks"
type="JKS"
certificateKeystorePassword="changeit" />
</SSLHostConfig>
</Connector>
<Connector port="443" protocol="org.apache.coyote.http11.Http11Nio2Protocol"
maxThreads="150" SSLEnabled="true">
<SSLHostConfig>
<Certificate certificateKeystoreFile="conf/domain.p12"
type="PKCS12"
certificateKeystorePassword="p12_password" />
</SSLHostConfig>
</Connector>
<Connector port="8443" protocol="HTTP/1.1"
SSLEnabled="true" scheme="https" secure="true"
keystoreFile="conf/keystore.jks"
keystorePass="changeit" sslProtocol="TLS" />
Http11NioProtocol/Http11Nio2Protocol,按需调整 maxThreads。三 强制 HTTP 跳转 HTTPS
<welcome-file-list> 之后添加:<security-constraint>
<web-resource-collection>
<web-resource-name>Protected Context</web-resource-name>
<url-pattern>/*</url-pattern>
</web-resource-collection>
<user-data-constraint>
<transport-guarantee>CONFIDENTIAL</transport-guarantee>
</user-data-constraint>
</security-constraint>
同时确保非 SSL Connector 的 redirectPort 指向 443(或你的 HTTPS 端口)。http.requiresChannel().anyRequest().requiresSecure();
CONFIDENTIAL 会让容器将匹配的 HTTP 请求重定向到 HTTPS(前提是存在对应 HTTPS Connector 且端口配置正确)。四 双向认证与信任库
clientAuth="false",仅服务器验证客户端(浏览器证书)。<Connector port="443" protocol="org.apache.coyote.http11.Http11NioProtocol"
maxThreads="200" SSLEnabled="true"
scheme="https" secure="true"
keystoreFile="conf/server.p12"
keystorePass="server_p12_password"
clientAuth="true"
truststoreFile="conf/client-truststore.p12"
truststorePass="truststore_password" />
五 测试与常见问题
https://<域名或IP>:<端口>/;自签名证书浏览器会提示不受信任(测试环境可继续访问)。免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。