#ssl #tomcat #servlets #lets-encrypt
Вопрос:
У меня есть один сервер Linux, на котором я запускаю три разных веб-сайта
Server.xml выглядит следующим образом
<Connector port="80" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="443" />
<Connector port="443" protocol="org.apache.coyote.http11.Http11NioProtocol"
maxThreads="1000" SSLEnabled="true" defaultSSLHostConfigName="sub1.domain1.info">
<SSLHostConfig hostName="sub1.domain1.info">
<Certificate certificateFile="conf/app1/cert.pem" certificateKeyFile="conf/app1/privkey.pem" certificateChainFile="conf/app1/chain.pem"
type="RSA" />
</SSLHostConfig>
<SSLHostConfig hostName="www.domain2.com/">
<Certificate certificateFile="conf/app2/cert.pem" certificateKeyFile="conf/app2/privkey.pem" certificateChainFile="conf/app2/chain.pem"
type="RSA" />
</SSLHostConfig>
<SSLHostConfig hostName="domain3.ac.in">
<Certificate certificateFile="conf/app3/cert.pem" certificateKeyFile="conf/app3/privkey.pem" certificateChainFile="conf/app3/chain.pem"
type="RSA" />
</SSLHostConfig>
<SSLHostConfig hostName="*.domain3.ac.in">
<Certificate certificateFile="conf/app2/cert.pem" certificateKeyFile="conf/app2/privkey.pem" certificateChainFile="conf/app2/chain.pem"
type="RSA" />
</SSLHostConfig>
</Connector>
<Host name="sub1.domain1.info" appBase="/home/applocation" unpackWARs="false" deployXML="false">
<Alias>sub1.domain1.info</Alias>
<Context path="" reloadable="true" docBase="/home/applocation" debug="1"/>
<Context docBase="/home/filepath" path="/pattern"/>
</Host>
<Host name="domain2.com" appBase="/home/app2path" unpackWARs="false" deployXML="false">
<Alias>www.domain2.com</Alias>
<Context path="" reloadable="true" docBase="/home/app2path" debug="1"/>
</Host>
<Host name="domain3.ac.in" appBase="/home/app3path" unpackWARs="false" deployXML="false">
<Alias>www.domain3.ac.in</Alias>
<Context path="" reloadable="true" docBase="/home/app3path" debug="1"/>
</Host>
Сертификаты, созданные с помощью certbot
certbot certonly --standalone -d domainName
По какой-то причине, когда domain2.com загружается в браузер, там написано, что сертификат недействителен. Когда я проверяю детали сертификата, в нем указаны детали sub1.domain1.info сертификат (выдан sub1.domain1.info).
Я в замешательстве, потому что это сработало для domain3.ac.in Сертификаты были впервые сгенерированы для sub1.domain1.com вслед за domain3.ac.in и наконец www.domain2.com (по крайней мере, 3 раза сгенерировано для этого домена сейчас).
Одна вещь, которую я отметил, заключается в том, что я получаю одно предупреждение при создании сертификата для www.domain2.com это говорит что-то вроде «это может не сработать», но все равно было сгенерировано.
Кроме того, я новичок в SSL с Tomcat, поэтому, пожалуйста, предложите любые другие необходимые изменения.
Комментарии:
1. Проверьте данные в файлах (например, с
openssl x509 -in <filename> -noout -text
помощью ). Какой браузер вы используете? Если он не поддерживает или не использует SNI (маловероятно в наши дни), будет подан первый настроенный сертификат.2. Я последняя версия Google Chrome. Я попытался настроить другой домен с нуля, но все равно не повезло 🙁