tomcat配置单个、多个SSL证书
- tomcat配置单个SSL证书(阿里云教程)
参考阿里云文档:Tomcat服务器安装SSL证书 - SSL证书服务 - 阿里云
下载证书文件到本地,应该包括一个pfx证书文件、一个密码文件。
在Tomcat安装目录下,创建cert目录,将解压的证书和密码文件拷贝到cert目录下。
修改配置文件server.xml(路径:Tomcat安装目录/conf/server.xml)。
找到Connector标签,修改Connector的配置。
<Connector port="443" #port属性根据实际情况修改(HTTPS默认端口为443)
SSLEnabled="true"
scheme="https"
secure="true"
keystoreFile="Tomcat安装目录/cert/domain name.pfx" #证书名称前需加上证书的绝对路径,请使用您证书的文件名替换domain name。
keystoreType="PKCS12"
keystorePass="证书密码" #请替换为密码文件pfx-password.txt中的内容。
clientAuth="false"
SSLProtocol="TLSv1.1+TLSv1.2+TLSv1.3"
ciphers="TLS_RSA_WITH_AES_128_CBC_SHA,TLS_RSA_WITH_AES_256_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256,TLS_RSA_WITH_AES_128_CBC_SHA256,TLS_RSA_WITH_AES_256_CBC_SHA256"/>
然而,根据实测,上述配置在centos7.6+tomcat9上不生效,可能是由于SSLProtocol和ciphers的值不匹配。实际生效的配置修改方式如下:
<Connector port="443"
protocol="org.apache.coyote.http11.Http11NioProtocol"
SSLEnabled="true"
scheme="https"
secure="true"
keystoreFile="证书路径/证书文件名" #请替换为证书文件实际的绝对路径和文件名
keystoreType="PKCS12"
keystorePass="证书密码" #请替换为密码文件pfx-password.txt中的内容。
clientAuth="false"
SSLProtocol="TLSv1+TLSv1.1+TLSv1.2"
ciphers="TLS_RSA_WITH_AES_128_CBC_SHA,TLS_RSA_WITH_AES_256_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256,TLS_RSA_WITH_AES_128_CBC_SHA256,TLS_RSA_WITH_AES_256_CBC_SHA256"/>
保存修改,重启tomcat,修改生效。证书安装完成后,可以通过访问证书绑定域名的方式验证证书是否安装成功。
- tomcat配置多个SSL证书
参考文档:tomcat9.0配置多个ssl证书_绿林寻猫-CSDN博客
下载证书文件到本地,应该包括一个pfx证书文件、一个密码文件。
在Tomcat安装目录下,创建cert目录,将解压的证书和密码文件拷贝到cert目录下。
修改配置文件server.xml(路径:Tomcat安装目录/conf/server.xml)。
找到Connector标签,在配置中添加SSLHostConfig配置。每条SSLHostConfig配置对应一个SSL证书。
certificateKeystoreFile填写pfx证书文件的路径,certificateKeystorePassword填写密码文件中的密码。
Tips:证书文件可以放到任意目录下,只要保证在server.xml里配置的路径准确即可。密码文件不是必须传到服务器上,这里放到服务器上仅是为了方便管理。
<Connector port="443"
protocol="org.apache.coyote.http11.Http11Nio2Protocol"
maxThreads="150"
SSLEnabled="true"
defaultSSLHostConfigName="默认域名" >
<UpgradeProtocol className="org.apache.coyote.http2.Http2Protocol" />
<SSLHostConfig hostName="域名1" >
<Certificate certificateKeystoreFile="Tomcat安装目录/cert/域名1-tomcat.pfx"
certificateKeystorePassword="域名1密码"
type="RSA"/>
</SSLHostConfig>
<SSLHostConfig hostName="域名2">
<Certificate certificateKeystoreFile="Tomcat安装目录/cert/域名2-tomcat.pfx"
certificateKeystorePassword="域名2密码"
type="RSA"/>
</SSLHostConfig>
</Connector>
保存修改,重启tomcat,修改生效。证书安装完成后,可以通过访问证书绑定域名的方式验证证书是否安装成功。