找回密码
 立即注册
首页 业界区 安全 使用自签名证书,为Tomcat配置HTTPS

使用自签名证书,为Tomcat配置HTTPS

数察啜 2025-7-10 10:30:46
1. 新建 OpenSSL 配置文件 (openssl.cnf)
  1. [req]
  2. distinguished_name = req_distinguished_name
  3. x509_extensions = v3_req
  4. prompt = no
  5. [req_distinguished_name]
  6. CN = My Local Server
  7. [v3_req]
  8. keyUsage = digitalSignature, keyEncipherment
  9. extendedKeyUsage = serverAuth
  10. subjectAltName = @alt_names
  11. [alt_names]
  12. IP.1 = 192.168.0.111 #内网测试地址
  13. IP.2 = 127.0.0.1
  14. DNS.1 = localhost
复制代码
2. 生成证书

Windows环境下可以在Git Bash中生成证书,其自带openssl
  1. # 删除旧证书(如果存在)
  2. rm server.crt server.key
  3. # 生成新私钥(2048位)
  4. openssl genrsa -out server.key 2048
  5. # 生成证书签名请求(CSR)时应用修复配置
  6. openssl req -new -key server.key -out server.csr -config openssl.cnf
  7. # 生成证书时启用扩展(关键!)
  8. openssl x509 -req -days 365 -in server.csr \
  9.     -signkey server.key -out server.crt \
  10.     -extfile openssl.cnf -extensions v3_req  # 显式应用扩展
复制代码
3. 转换为 PKCS12 格式
  1. openssl pkcs12 -export \
  2.     -in server.crt -inkey server.key \
  3.     -out keystore.p12 -name tomcat \
  4.     -passout pass:changeit
复制代码
4. 拷贝证书文件

将生成的keystore.p12文件,拷贝到Tomcat的conf目录
5. 更新 Tomcat 配置 (conf/server.xml)
  1. <Connector
  2.     port="8443"
  3.     protocol="org.apache.coyote.http11.Http11NioProtocol"
  4.     SSLEnabled="true"
  5.     maxThreads="150">
  6.     <SSLHostConfig protocols="TLSv1.3"
  7.         certificateVerification="none"
  8.         ciphers="TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384">
  9.         <Certificate
  10.             certificateKeystoreFile="conf/keystore.p12"
  11.             certificateKeystorePassword="changeit"
  12.             certificateKeystoreType="PKCS12"
  13.             type="RSA"
  14.         />
  15.     </SSLHostConfig>
  16. </Connector>
复制代码
6. 重启 Tomcat 并测试


  • 重启 Tomcat
    1. # Linux
    2. ./bin/shutdown.sh && ./bin/startup.sh
    3. # Windows
    4. bin\shutdown.bat && bin\startup.bat
    复制代码
  • 访问测试
    浏览器打开:
    1. https://YOUR_IP:8443
    复制代码

    • 浏览器会提示不安全(这是自签名证书的预期行为)。
    • 点击 "高级" → "继续访问" 即可。


来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
您需要登录后才可以回帖 登录 | 立即注册