Tomcat отказывается от соединений через порт 443
У меня есть Tomcat7
установка на CentOS 6.7
это должно разрешить только соединения через порт 443. /etc/tomcat/server.xml
файл настроен так:
<Connector port="443" protocol="org.apache.coyote.http11.Http11Protocol"
maxThreads="150" SSLEnabled="true" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS"
SSLCertificateFile="./GoDaddy/Tomcat/combined.crt"
SSLCertificateKeyFile="./GoDaddy/Tomcat/privateKey.key"
SSLVerifyClient="optional" SSLProtocol="TLS"
/>
Кроме того, /usr/share/tomcat/conf/server.xml
настроен так:
<Connector port="443" protocol="org.apache.coyote.http11.Http11Protocol"
maxThreads="150" SSLEnabled="true" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS"
SSLCertificateFile="./GoDaddy/Tomcat/combined.crt"
SSLCertificateKeyFile="./GoDaddy/Tomcat/privateKey.key"
SSLVerifyClient="optional" SSLProtocol="TLS"
/>
IPtables настроен так:
-A INPUT -p tcp -m tcp --dport 443 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 80 -j DROP
Tomcat работает:
sudo service tomcat status
tomcat (pid 2687) is running... [ OK ]
Но когда я пытаюсь перейти к своему веб-приложению, я получаю следующее:
This webpage is not available
ERR_CONNECTION_REFUSED
Я считаю, что я следовал инструкциям Apache по этому вопросу, но очевидно, что что-то не так.
Что мне нужно сделать, чтобы решить эту проблему?
3 ответа
Прежде всего вы должны проверить файл журнала - /var/log/tomcat/catalina.out.
Вы не можете использовать опцию SSLCertificateKeyFile с JSEE (BIO/NIO) коннекторами только с APR. Если вы хотите использовать APR, вы должны скомпилировать и установить Tomcat Native. Когда вы запустите Tomcat, вы должны увидеть следующие строки в журнале
Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=384m; support was removed in 8.0
Jul 03, 2015 6:43:47 AM org.apache.catalina.core.AprLifecycleListener lifecycleEvent
INFO: Loaded APR based Apache Tomcat Native library 1.1.34 using APR version 1.3.9.
Если вы хотите использовать существующий SSL-сертификат в tomcat, вам нужно создать хранилище ключей, а затем импортировать сертификаты в хранилище ключей. Вот пост, объясняющий, как сделать это шаг за шагом.
Статья Аджита Хана очень полезна. Однако в одной из команд есть опечатка, Аджит:
openssl pkcs12 -export -name servercert -in /path/to/gd_bundle-g2-g1.crt -inkey /path/to/myorg.key -out /path/to/myp12keystore.12
ДОЛЖНО БЫТЬ
openssl pkcs12 -export -name gd_bundle-g2-g1.crt -in /path/to/myorg.com.crt -inkey /path/to/myorg.key -out /path/to/myp12keystore.12