从外部IP访问Tomcat

从外部IP访问Tomcat,tomcat,server,forwarding,Tomcat,Server,Forwarding,我有下一个网络:网线->路由器->服务器->tomcat,安装在服务器上。 Tomcat正在端口8090上工作。 我可以从本地主机8090访问tomcat,但无法访问外部ip地址8090。 端口转发完成。 要管理服务器,请使用RDP外部ip地址:8090。 这是我的server.xml <?xml version="1.0" encoding="UTF-8"?> <Server port="8005" shutdown="SHUTDOWN"> <Listener

我有下一个网络:网线->路由器->服务器->tomcat,安装在服务器上。 Tomcat正在端口8090上工作。 我可以从本地主机8090访问tomcat,但无法访问外部ip地址8090。 端口转发完成。 要管理服务器,请使用RDP外部ip地址:8090。 这是我的server.xml

<?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="8090" protocol="HTTP/1.1"
           connectionTimeout="20000"
           redirectPort="8443"
       useIPVHosts="true"
       resolveHosts="true" 

    <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>


经过一些研究,发现这些变化可能会有所帮助(如果您仍在同一问题上苦苦挣扎,请尝试一下):

进行以下更改后,我们将打开来自其他主机的访问:

  • 编辑“CATALINA_HOME/webapps/host manager/META-INF/context.xml”

    • 我们可以通过注释将RemoteAddrValve值禁用,如下所示:
    <--Valve className=“org.apache.catalina.valves.RemoteAddrValve”allow=“127.\d+。\d+。\d+::1 | 0:0:0:0:0:1”/-->

  • 对于“CATALINA_HOME/webapps/manager/META-INF/context.xml”,也必须重复同样的步骤

希望这能回答你的问题

useIPVHosts=“true”
resolveHosts=“true”
这两个属性应该起作用-在进行此更改后是否重新启动了Tomcat/TomEE服务?是的,我重新启动。。但它不起作用。至此,防火墙已关闭。您是否可以添加以下内容并重新启动?address=“0.0.0.0”指向标记“它不工作”(如果有帮助,请检查这些->&此->