欢迎光临靖江市白事服务网
详情描述

1. 准备证书文件

选项A:使用自签名证书(测试环境)

# 生成密钥库
keytool -genkeypair \
    -alias tomcat \
    -keyalg RSA \
    -keysize 2048 \
    -validity 365 \
    -keystore /path/to/keystore.jks \
    -storepass changeit \
    -keypass changeit \
    -dname "CN=localhost, OU=IT, O=Company, L=City, ST=State, C=CN"

选项B:使用CA颁发的证书

从证书提供商获取:

  • domain.crt(服务器证书)
  • domain.key(私钥)
  • ca-bundle.crt(CA证书链)

转换为JKS格式:


# 将PEM格式合并为PKCS12
openssl pkcs12 -export \
 -in domain.crt \
 -inkey domain.key \
 -chain \
 -CAfile ca-bundle.crt \
 -name "tomcat" \
 -out tomcat.p12 \
 -password pass:changeit
转换为JKS格式

keytool -importkeystore \ -deststorepass changeit \ -destkeypass changeit \ -destkeystore keystore.jks \ -srckeystore tomcat.p12 \ -srcstoretype PKCS12 \ -srcstorepass changeit \ -alias tomcat


## 2. 配置Tomcat server.xml

编辑 `$CATALINA_HOME/conf/server.xml`:

### 方案A:HTTP/1.1 Connector
```xml
<!-- 取消注释或添加以下配置 -->
<Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol"
           maxThreads="150" SSLEnabled="true"
           scheme="https" secure="true"
           keystoreFile="/path/to/keystore.jks"
           keystorePass="changeit"
           keyAlias="tomcat"
           clientAuth="false"
           sslProtocol="TLS"
           ciphers="TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,
                   TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,
                   TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384,
                   TLS_RSA_WITH_AES_256_GCM_SHA384"
           >
</Connector>

方案B:HTTP/2 Connector(推荐)

<Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol"
           maxThreads="150" SSLEnabled="true"
           scheme="https" secure="true">

    <SSLHostConfig 
        certificateVerification="false"
        protocols="TLSv1.2,TLSv1.3">

        <Certificate 
            certificateKeystoreFile="/path/to/keystore.jks"
            certificateKeystorePassword="changeit"
            certificateKeystoreType="JKS"
            type="RSA" />

    </SSLHostConfig>

    <UpgradeProtocol className="org.apache.coyote.http2.Http2Protocol" />
</Connector>

3. 可选:强制HTTPS访问

在 $CATALINA_HOME/webapps/ROOT/WEB-INF/web.xml 中添加:

<security-constraint>
    <web-resource-collection>
        <web-resource-name>Secure Content</web-resource-name>
        <url-pattern>/*</url-pattern>
    </web-resource-collection>
    <user-data-constraint>
        <transport-guarantee>CONFIDENTIAL</transport-guarantee>
    </user-data-constraint>
</security-constraint>

4. 启动验证

# 启动Tomcat
$CATALINA_HOME/bin/startup.sh

# 验证HTTPS
curl -k https://localhost:8443/
# 或使用浏览器访问 https://your-domain:8443

5. 高级配置示例

多域名/SNI配置

<Connector port="8443" ...>
    <SSLHostConfig>
        <Certificate 
            certificateKeystoreFile="/path/to/domain1.jks"
            certificateKeystorePassword="pass1"
            hostName="domain1.com"/>

        <Certificate 
            certificateKeystoreFile="/path/to/domain2.jks"
            certificateKeystorePassword="pass2"
            hostName="domain2.com"/>
    </SSLHostConfig>
</Connector>

使用PEM格式证书(Tomcat 9+)

<SSLHostConfig>
    <Certificate 
        certificateFile="/path/to/certificate.pem"
        certificateKeyFile="/path/to/privatekey.pem"
        certificateChainFile="/path/to/ca-bundle.pem"
        type="RSA"/>
</SSLHostConfig>

6. 常见问题解决

端口被占用

# 检查端口占用
netstat -tlnp | grep 8443
# 或修改server.xml中的端口号

证书格式错误

# 检查JKS文件
keytool -list -keystore keystore.jks -storepass changeit

权限问题

# 确保Tomcat用户有读取权限
chmod 640 /path/to/keystore.jks
chown tomcat:tomcat /path/to/keystore.jks

7. 安全建议

密码安全:使用强密码替换默认密码 协议限制:禁用SSLv2、SSLv3,仅启用TLSv1.2+ 密钥算法:使用RSA 2048位或ECDSA 证书更新:设置自动续期提醒 安全扫描:使用SSL Labs测试SSL配置

验证配置

使用以下工具验证:

# 测试SSL连接
openssl s_client -connect localhost:8443 -servername your-domain.com

# 检查证书链
keytool -printcert -sslserver your-domain.com:8443

注意事项

Tomcat 11需要Java 11或更高版本 生产环境建议使用Let's Encrypt等免费CA 配置完成后重启Tomcat生效 防火墙需开放443端口 建议配置HTTP重定向到HTTPS

这样配置后,您的Tomcat 11就支持HTTPS访问了。

相关帖子
2026年全国通检政策下,小型汽车跨省年检的具体流程是怎样的?
2026年全国通检政策下,小型汽车跨省年检的具体流程是怎样的?
2026年智能垃圾分类箱普及,厨余垃圾投放有哪些新变化要注意?
2026年智能垃圾分类箱普及,厨余垃圾投放有哪些新变化要注意?
靖江市网站制作设计服务|app开发,一站式服务
靖江市网站制作设计服务|app开发,一站式服务
小区房子抵押贷款对借款人纳税有什么条件?纳税记录与审批关系
小区房子抵押贷款对借款人纳税有什么条件?纳税记录与审批关系
全球范围内,哪些绿色产品认证体系是互相认可或等效的?
全球范围内,哪些绿色产品认证体系是互相认可或等效的?
深度解析小额借贷专业知识,明确授信逻辑、资金用途与风控标准
深度解析小额借贷专业知识,明确授信逻辑、资金用途与风控标准
二次抵押车辆使用、出租规则,掌握贷后管理知识避免出现违约
二次抵押车辆使用、出租规则,掌握贷后管理知识避免出现违约
公司经营贷款变更还款卡,银行卡更换办理流程
公司经营贷款变更还款卡,银行卡更换办理流程
办理押车贷款流程风险,借款人失踪了车辆会被如何处理?
办理押车贷款流程风险,借款人失踪了车辆会被如何处理?
笔记本电脑的USB-C接口给手机充电,速度和安全性上是否会有折衷?
笔记本电脑的USB-C接口给手机充电,速度和安全性上是否会有折衷?
如果无法提供结婚证,单亲妈妈如何证明与孩子的亲子关系以办理医保?
如果无法提供结婚证,单亲妈妈如何证明与孩子的亲子关系以办理医保?
从提交材料到放款到账:房子抵押贷款全流程时间轴与每个环节提速技巧
从提交材料到放款到账:房子抵押贷款全流程时间轴与每个环节提速技巧
办理房产过户时,如何核实房产是否存在查封等权利限制情况?
办理房产过户时,如何核实房产是否存在查封等权利限制情况?
申请汽车抵押贷款条件,提供虚假收入证明被发现的后果分析
申请汽车抵押贷款条件,提供虚假收入证明被发现的后果分析
申请押证不押车贷款流程,如何计算每月的还款金额?
申请押证不押车贷款流程,如何计算每月的还款金额?
二押解押后车辆交易过户流程,理清权属知识顺利完成车辆流转
二押解押后车辆交易过户流程,理清权属知识顺利完成车辆流转
线上平台与数字经济为偏远地区人口带来了哪些新型灵活就业可能?
线上平台与数字经济为偏远地区人口带来了哪些新型灵活就业可能?
修复不良信用记录有哪些常见的误区需要避免,所谓的“信用洗白”可信吗?
修复不良信用记录有哪些常见的误区需要避免,所谓的“信用洗白”可信吗?