在 Tomcat 中配置域名 HTTPS 需要结合 SSL/TLS 证书与服务器配置,确保客户端通过 HTTPS 协议安全访问指定域名。以下是专业、完整的配置步骤。

第一步:获取并安装 SSL 证书。
需从受信任的 CA(如 Let’s Encrypt、DigiCert、Sectigo 等)申请域名对应的 SSL 证书。证书通常包含:
- 证书文件(如 cert.pem)
- 私钥文件(如 key.pem)
- 可选:中间证书链(chain.pem 或 intermediates.pem)
第二步:将证书文件放置到 Tomcat 的 conf 目录下。
建议创建一个专门目录存放证书文件,例如:
/usr/local/tomcat/conf/ssl/
并将证书文件复制到该目录:
第三步:修改 Tomcat 的 server.xml 文件。
定位到 Tomcat 安装目录下的 conf/server.xml 文件,在其中添加或修改 Connector 配置以启用 HTTPS。
示例配置如下:
<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
maxThreads="150" scheme="https" secure="true"
keystoreFile="/usr/local/tomcat/conf/ssl/cert.pem"
keystorePass="your_keystore_password"
keystoreType="PKCS12"
truststoreFile="/usr/local/tomcat/conf/ssl/truststore.pem"
truststorePass="your_truststore_password"
clientAuth="false"
sslProtocol="TLS"
ciphers="TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384"
enableProtocols="TLSv1.2,TLSv1.3"
sslEnabledProtocols="TLSv1.2,TLSv1.3"
compression="on"
noCompressionUserAgents=".*MSIE.*"
compressableMimeType="text/html,text/xml,text/plain,text/css,text/javascript,application/json"
secure="true"
redirectPort="8443"
URIEncoding="UTF-8"
connectionTimeout="20000"
acceptCount="100"
disableUploadTimeout="true"
useBodyEncodingForURI="true"
allowTrace="false"
proxyName="yourdomain.com"
proxyPort="443"
scheme="https"
secure="true"
/>
说明:
- port="8443" 是 HTTPS 默认端口,可根据需求调整。
- keystoreFile 指定证书路径,需替换为你实际的路径。
- keystorePass 是证书密钥库密码,必须设置为正确值。
- keystoreType 根据证书格式选择(如 PKCS12 或 JKS)。
- truststoreFile 和 truststorePass 用于信任链验证(可选)。
- ciphers 和 enableProtocols 用于指定加密套件和协议版本,推荐使用 TLSv1.2+。
- proxyName 和 proxyPort 适用于反向代理场景。
- scheme="https" 和 secure="true" 强制启用 HTTPS。
第四步:重启 Tomcat 服务。
执行命令:
sudo systemctl restart tomcat 或 bin/shutdown.sh && bin/startup.sh
第五步:测试 HTTPS 访问。
在浏览器中输入:
https://yourdomain.com:8443
若出现证书错误,请检查证书是否正确安装,以及是否被浏览器信任。
若提示“连接已建立”,则表示 HTTPS 已成功配置。
第六步(可选):配置 HTTP 到 HTTPS 重定向。
可在 server.xml 中添加另一个 Connector 配置监听 80 端口,并将请求重定向至 8443。
示例:
<Connector port="80" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443"
scheme="http"
secure="false"
/>
第七步:优化安全配置。
- 启用 HSTS(HTTP Strict Transport Security)头:
在 web.xml 中添加:
<filter><filter-name>HstsFilter</filter-name><filter-class>org.apache.catalina.filters.HttpHeaderWriterFilter</filter-class></filter>
- 使用最新的 TLS 版本和强加密套件。
- 定期更新证书有效期(建议每年续期)。
注意事项:
- 所有路径需根据实际部署环境调整。
- 若使用自签名证书,请在浏览器中手动信任该证书。
- 建议使用 OpenSSL 或 Certbot 工具生成证书。
- 若使用 Nginx 或 Apache 作为反向代理,HTTPS 配置应在代理层完成,Tomcat 仅需监听 8443。
总结:
通过以上步骤,即可在 Tomcat 中成功配置域名 HTTPS。核心要素包括:
SSL 证书、server.xml 配置、端口绑定 和 服务重启。务必注意证书路径、密码及协议版本的安全性。

查看详情

查看详情