Tomcat 拒绝端口 443 上的连接

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  ]

但是当我尝试浏览我的 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

相关内容