如何用1&1 IONOS的证书文件生成Tomcat9可用的keystore并配置<connector/>
Tomcat 9 keystore生成及配置步骤
你已经持有服务商签发的私钥、域名证书和中间证书,无需再自行生成CSR请求,按以下步骤操作即可:
1. 生成PKCS12格式证书包
Ubuntu系统默认自带openssl工具,执行以下命令将三份文件整合为PKCS12格式文件:
openssl pkcs12 -export -in ssl_certificate.cer -inkey private_key.key -certfile ssl_certificate_INTERMEDIATE.cer -name "tomcat" -out tomcat.p12
执行时按提示设置导出密码,该密码需妥善保存,后续配置会用到。
2. 转换为JKS格式keystore(可选)
Tomcat 9原生支持直接使用PKCS12格式文件作为keystore,无需转换;若需要使用传统JKS格式,执行以下命令转换:
keytool -importkeystore -srckeystore tomcat.p12 -srcstoretype PKCS12 -srcalias tomcat -destkeystore tomcat.jks -deststoretype JKS -destalias tomcat
按提示输入第一步设置的PKCS12密码,再设置JKS文件的存储密码,同样妥善保存。
提示:如果执行
keytool命令提示找不到,确认已安装JDK并将JDK的bin目录加入系统PATH环境变量。
3. 验证keystore有效性
执行以下命令验证文件内容是否正常:
- 验证PKCS12文件:
keytool -list -v -keystore tomcat.p12 -storetype PKCS12 - 验证JKS文件:
keytool -list -v -keystore tomcat.jks
输出条目类型为PrivateKeyEntry、证书链长度为2即为正常。
4. 配置Tomcat 9的server.xml
打开Tomcat安装目录下的conf/server.xml文件,找到或新增HTTPS Connector节点,按使用的keystore类型对应配置:
使用PKCS12文件配置示例
<Connector port="443" protocol="org.apache.coyote.http11.Http11NioProtocol" maxThreads="150" SSLEnabled="true"> <SSLHostConfig> <Certificate certificateKeystoreFile="/你的文件绝对路径/tomcat.p12" certificateKeystorePassword="第一步设置的PKCS12密码" certificateKeystoreType="PKCS12" /> </SSLHostConfig> </Connector>
使用JKS文件配置示例
<Connector port="443" protocol="org.apache.coyote.http11.Http11NioProtocol" maxThreads="150" SSLEnabled="true"> <SSLHostConfig> <Certificate certificateKeystoreFile="/你的文件绝对路径/tomcat.jks" certificateKeystorePassword="第二步设置的JKS密码" certificateKeystoreType="JKS" /> </SSLHostConfig> </Connector>
5. 重启Tomcat验证
- 将keystore文件权限设置为600,确保运行Tomcat的用户拥有文件读权限
- 重启Tomcat服务,访问HTTPS地址验证证书是否正常加载,无安全告警即为配置成功
常见注意事项
- 建议使用绝对路径填写keystore文件位置,避免相对路径读取失败
- 若使用80/443等1024以下端口,需提前给Tomcat进程授予端口绑定权限,或通过Nginx反向代理实现
- 启动失败可查看
logs/catalina.out日志排查问题,常见错误为路径错误、密码不匹配、权限不足
内容的提问来源于stack exchange,提问作者Nasser MEHLEB
相关产品推荐
相关产品推荐

