Tomcat SSL 在外部不可用

Tomcat SSL 在外部不可用

我确实有一个 Tomcat8 服务器正在运行,目前在开发环境中。它在我们选择的端口 (8085) 上工作了一段时间,并且在我们的网络之外可用(防火墙未阻止)。最近我们决定也运行 https。我确实配置了我们的证书并在 中添加了 SSL 连接器指令server.xml

不幸的是,它没有按预期工作。当我尝试通过远程桌面浏览器打开它时(实际上是在本地主机上),SSL 工作正常,它在https://localhost:8443和上都可以工作https://domain.com:8443。到目前为止,一切都运行正常,并且符合预期,但是当我们尝试从其他网络访问它时,它不起作用,只是在我们尝试访问时给出超时,https://domain.com:8443http://domain.com:8085在外面工作正常。

我们确实认为这可能是我们的防火墙的问题,尽管我们决定禁用它一段时间,但它仍然不起作用。

知道可能是什么原因造成的吗?

<?xml version='1.0' encoding='utf-8'?>
<Server port="8005" shutdown="SHUTDOWN">
  <Listener className="org.apache.catalina.startup.VersionLoggerListener" />
  <Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" />
  <Listener className="org.apache.catalina.core.JreMemoryLeakPreventionListener" />
  <Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" />
  <Listener className="org.apache.catalina.core.ThreadLocalLeakPreventionListener" />

  <GlobalNamingResources>
    <Resource name="UserDatabase" auth="Container"
              type="org.apache.catalina.UserDatabase"
              description="User database that can be updated and saved"
              factory="org.apache.catalina.users.MemoryUserDatabaseFactory"
              pathname="conf/tomcat-users.xml" />
  </GlobalNamingResources>
  <Service name="Catalina">
    <Connector port="8085" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />

    <Connector port="8443" 
        protocol="HTTP/1.1" SSLEnabled="true"
        maxThreads="150" scheme="https" secure="true" alias="tomcat"
        keystoreFile="c:/cert_pn_2015.p12"
        keystorePass="PASS" 
        keystoreType="PKCS12"/>

    <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />

    <Engine name="Catalina" defaultHost="localhost">

      <Realm className="org.apache.catalina.realm.LockOutRealm">

        <Realm className="org.apache.catalina.realm.UserDatabaseRealm"
               resourceName="UserDatabase"/>
      </Realm>

      <Host name="localhost"  appBase="webapps"
            unpackWARs="true" autoDeploy="true">

        <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
               prefix="localhost_access_log" suffix=".txt"
               pattern="%h %l %u %t &quot;%r&quot; %s %b" />
      </Host>
    </Engine>
  </Service>
</Server>

答案1

您正在将 8085 重定向到 8443,这让我觉得 8443 已关闭。当流量到达 8085 时,tomcat 会在 8443 上内部重定向流量(充当代理)。在 8443 上执行 telnet 操作,您就会发现。

请看这里https://tomcat.apache.org/tomcat-8.0-doc/config/http.html

相关内容