发布时间:2021/09/30 08:57:15
分类:Java
我们都知道,Tomcat是服务器软件。Tomcat可以实现在一台服务器配置多个虚拟主机。
但是,这也会带来一个问题:如果服务器配置了多个网站,但只配置了一个网站的证书,就会出现以下问题:
可能你在服务器安装的证书只支持一个域名。这样就会导致浏览器报错,并提示不安全。当访客不了解情况的情况下,会认为你的网站不安全,从而不访问你的网站。
那如何解决此问题?
注意!Tomcat版本必须在8.5以上。8.5以下是不支持SNI(Server Name Indication)的。8.5以下请使用Nginx反向代理。
需要在配置文件server.xml这样写:
<Connector
protocol="org.apache.coyote.http11.Http11NioProtocol"
port="443"
maxThreads="150"
SSLEnabled="true"
defaultSSLHostConfigName="*.amekiri.com">
<!--必须设置默认主机名-->
<SSLHostConfig hostName="*.amekiri.com">
<Certificate
certificateKeystoreFile="证书1路径"
certificateKeystorePassword="证书1的密码"
clientAuth="false"
sslProtocol="TLS"
type="RSA"
/>
</SSLHostConfig>
<SSLHostConfig hostName="kirilab.xyz">
<Certificate
certificateKeystoreFile="证书2路径"
certificateKeystorePassword="证书2的密码"
clientAuth="false"
sslProtocol="TLS"
type="RSA"
/>
</SSLHostConfig>
</Connector>