【问题标题】:Tomcat access from external IPTomcat从外部IP访问
【发布时间】:2018-07-20 07:59:54
【问题描述】:

我有下一个网络:互联网电缆 -> 路由器 -> 服务器 -> Tomcat,安装在服务器上。 Tomcat 正在使用端口 8090。 我可以从 localhost:8090 访问 tomcat,但无法访问 external_ip_adress:8090。 端口转发完成。 对于管理服务器,请使用 RDP external_ip_adress: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>

我应该怎么做才能从外部 ip 访问 tomcat。也许是其他设置或其他端口转发。请帮助菜鸟)

【问题讨论】:

  • useIPVHosts="true" resolveHosts="true" 这两个属性应该可以解决问题 - 进行此更改后您是否重新启动了 Tomcat / TomEE 服务?
  • 是的,我重新启动.. 但它不起作用。顺便说一句,防火墙已关闭。
  • 能否也添加以下内容并重新启动? address="0.0.0.0" 到 标签
  • 它不工作(

标签: tomcat server forwarding


【解决方案1】:

经过一些研究,确定这些更改可能会有所帮助(如果您仍在为同样的问题苦苦挣扎,请尝试一下):

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

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

    • 我们可以通过注释掉 RemoteAddrValve 值来禁用它,如下所示:

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

希望这能回答你的问题!

【讨论】:

    猜你喜欢
    • 2021-01-10
    • 2018-03-03
    • 2018-02-09
    • 2016-05-13
    • 2020-11-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多