tomcat8配置阿里云免费证书操作

本文详细介绍了如何在Tomcat服务器上配置HTTPS,包括申请免费HTTPS证书、不同版本Tomcat及证书格式的配置方法,以及常见错误排查技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.申请免费https证书(由Symantec提供)
登录控制台,找到证书服务,后面就直接安装指示一步步进行就可以了。

2.配置https
        拿到证书之后,进行下载,选择“下载证书for Tomcat”。因此我们会得到一个压缩文件,需要的证书都在里面了。接下来我们进行https的配置,配置这儿是个大坑,博主在这儿绕了几段弯路。由于tomcat8及以上和以下的https配置完全不同,而且阿里云https证书安装分pfx格式和jks格式两种,因此就存在以下四种配置:

配置情况一(tomcat8以下+pfx):
这种配置是最容易的,按照阿里云https证书安装过程做,一般不会出现什么问题。我的配置:
<Connector port="443" protocol="org.apache.coyote.http11.Http11Protocol" 
     maxThreads="150" SSLEnabled="true" scheme="https" secure="true" 
    keystoreFile="cert/你的pfx证书文件.pfx"  keystorePass="你的证书密码(pfx-password.txt文件中)" 
     clientAuth="false" sslProtocol="TLS" 
    ciphers="TLS_RSA_WITH_AES_128_GCM_SHA256, 
              TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256, 
              TLS_RSA_WITH_AES_128_CBC_SHA, 
              TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA, 
              TLS_RSA_WITH_AES_128_CBC_SHA256, 
              TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256, 
    SSL_RSA_WITH_3DES_EDE_CBC_SHA, 
    TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA" />
配置情况二(tomcat8以下+jks):
同上,只是把“你的pfx证书文件.pfx”和密码换成jks相关即可。注意,如果发现配置完成之后,启动tomcat启动443时报“Password verification failed”的错误,有两点原因可以考虑: 1.你的jks证书密码是否和密钥库密码一致(阿里云建议两者一致); 2.使用jdk自带工具keytool生产证书时可能密码会默认成“changeit”,把你的密码换成这个试试。一般使用阿里云上申请的证书时,我尽量不使用keytool来转换jks证书。因为正如上面所说,证书密码可能会默认成“changeit”。而证书密码和密钥库密码不一致又可能出现“Cannot recover key”错误(密钥库密码给你时就已经定好了)。因此你会陷入一个进退两难的地步(当然肯定也有解决办法,只是为了避免不必要的麻烦,而且tomcat7以上开始支持pfx证书)。
配置情况三(tomcat8及以上+jks):
<Connector port="443" protocol="org.apache.coyote.http11.Http11NioProtocol" maxThreads="150" SSLEnabled="true"> 
<SSLHostConfig> 
<Certificate certificateKeystoreFile="cert\你的jks证书文件" certificateKeyAlias="alias" certificateKeystorePassword="证书密码" type="RSA" /> 
</SSLHostConfig>
</Connector>
证书别名是需要的,默认就是“alias”,你也可以在生成jks文件指定别名:keytool -importkeystore -srckeystore 你的pfx证书.pfx -alias 你的证书别名 -destkeystore 你的jks证书名.jks -srcstoretype PKCS12 -deststoretype JKS
你也可以查看你的证书别名:
keytool -list -keystore jks文件 -storepass jks密码
配置情况四(tomcat8及以上+pfx):
参照上面,略
再访问https域名,就没毛病了:


3.最后
还有一个小坑就是,linux上记得把防火墙443端口或8443端口打开,否则一直都是连接不上的。/etc/sysconfig/iptables 文件加上:
# https default
-A INPUT -p tcp -m state --state NEW -m tcp --dport 443 -j ACCEPT

重启防火墙:service iptables restart

当然,如果你正在使用Apache或者Nginx做反向代理或负载均衡,那就可以直接在Apache或Nginx中配置https即可,Tomcat就可以不用管它了。
 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值