【问题标题】:Hide 8080 on URL and redirect traffic from 80 to 8080在 URL 上隐藏 8080 并将流量从 80 重定向到 8080
【发布时间】:2010-09-02 10:45:27
【问题描述】:

我在同一台机器上运行了两个企业应用程序,并且使用 JKMount 我已经成功地将流量从 8081 重定向到其中一个,并将 8082 重定向到另一个,但现在我还需要部署一个 Web 服务。我已经部署了 Web 服务,可以通过 http://localhost:8080/xyz/abcd?wsdl 访问它。

我想从URL 中删除端口,并让流量在端口 80 上通过而不是 8080,并重定向到 8080,因为我已经有另一个服务正在运行并占用端口 80。

如何通过配置TomcatGlassFish 来做到这一点?

【问题讨论】:

    标签: tomcat configuration glassfish


    【解决方案1】:

    请注意,只有一个进程可以同时侦听特定端口。因此,如果已经有一个应用程序使用端口 80,则您必须为此应用程序配置代理。

    或者,您也可以将阻塞应用程序设置为监听其他端口并使用代理。

    如果您对机器具有 root 访问权限,则可以通过 Apache + mod_proxyCherokee 使用代理,将端口 80(或任何其他 Apache 侦听端口)上的外部请求重定向到某个特定的内部端口(甚至到其他服务器上的端口)。

    【讨论】:

    • 好的,我知道只有一个进程在监听那个端口。所以我可以使用代理将包含 /xyz/ 的请求从端口 80 重定向到端口 8080?
    • 是的。例如浏览器 URL 看起来像 test.com/myapp 并且 tomcat-webapp 部署在 localhost:8080/myapp 代理重定向看起来像(在 Apache mod_proxy 中): ProxyPass /myapp 127.0.0.1:8080/myapp ProxyPassReverse /myapp 127.0.0.1:8080/myapp
    【解决方案2】:
    iptables -t nat -I PREROUTING -p tcp --dport 80 -j REDIRECT --to-ports 8080
    
    iptables -t nat -I OUTPUT -p tcp --dport 80 -j REDIRECT --to-ports 8080
    
    iptables -t nat -I PREROUTING -p tcp --dport 443 -j REDIRECT --to-ports 8443
    
    iptables -t nat -I OUTPUT -p tcp --dport 443 -j REDIRECT --to-ports 8443
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-06-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多