我有一个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 ]
但是当我尝试浏览我的 Web 应用程序时,出现以下信息:
This webpage is not available
ERR_CONNECTION_REFUSED
我相信我已经关注Apache 的说明但显然有些事情是错误的。
我需要做什么来解决这个问题?
答案1
首先,您应该检查日志文件 - /var/log/tomcat/catalina.out。
您不能仅将 SSLCertificateKeyFile 选项与 APR 一起使用,也不能将 JSEE(BIO/NIO)连接器一起使用。如果您想使用 APR,您必须编译并安装Tomcat 本机TomcatNative。启动 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.
答案2
如果您想在 tomcat 中使用现有的 SSL 证书,那么您需要创建一个密钥库,然后在密钥库中导入证书。这里是一篇解释如何逐步完成的帖子。
答案3
Ajeet Khan 的文章很有帮助。不过 Ajeet 的一个命令有拼写错误:
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