JBosswithApache2:在端口8080上调用的任何内容都应该重定向到80

JBosswithApache2:在端口8080上调用的任何内容都应该重定向到80,jboss,port,Jboss,Port,在我的环境中,Jboss5在同一物理服务器上配置了apache2。所以 http://my.domain.com:80/user/login->应用程序登录页面 http://my.domain.com:8080/user/login->应用程序登录页面 http://my.domain.com:8080/->Jboss管理控制台。 现在,我的实际需求是,在端口8080上调用的任何东西都应该重定向到80 http://my.domain.com:80/user/login->http://my.

在我的环境中,Jboss5在同一物理服务器上配置了apache2。所以

http://my.domain.com:80/user/login->应用程序登录页面 http://my.domain.com:8080/user/login->应用程序登录页面 http://my.domain.com:8080/->Jboss管理控制台。 现在,我的实际需求是,在端口8080上调用的任何东西都应该重定向到80

http://my.domain.com:80/user/login->http://my.domain.com/user/login->应用程序登录页[目前工作正常] http://my.domain.com:8080/user/login->http://my.domain.com/user/login->应用程序登录页 http://my.domain.com:8080/->http://my.domain.com/user/login->应用程序登录页面。 到目前为止,我所做的是,通过元转发到应用程序登录页面来更新ROOT.war/index.html,我几乎以某种方式修复了第3点;不正确!!我们知道吗


谢谢

您可以编写一个servlet过滤器来检查应用程序正在运行的端口。如果它在端口8080上运行,则向正确的端口发送response.sendDirect

您需要在web.xml文件中配置servlet过滤器

编辑: 如果您没有更改web.xml文件的自由,我建议您采用最佳实践,即只允许一种方式公开应用程序,即通过端口80。您可以从防火墙阻止外部网络的端口8080,以便所有流量都通过端口80。
最好让apache2完成它的工作,因为它始终是反向代理服务器。如果您以后想进行负载平衡,它也很有用。

嗨,丹尼尔,谢谢您的回复!!这是事实,但这里我有一些限制,即jboss包含在BPM工具下,我们没有太多的自由以任何方式编写/更新web.xml。我们可以在配置级别上完成吗!!我认为您最好仅使用端口80,并通过防火墙从外部阻止端口8080。如何设置防火墙取决于您所处的操作系统。嗨,Daniel,我不确定我们是否可以这样做,因为有四个群集服务器,其中两个具有jboss实例,其余两个bpm引擎正在引用它们。阻塞8080将导致BPM引擎无法运行!!因为BPM引擎是已知的,所以防火墙应该能够选择哪些数据包不是来自这些BPM引擎,并阻止/丢弃它们,只让来自这两个BPM引擎的连接失效。我会这样做,并且可能从内部公开管理控制台,如果不需要远程管理访问,则从反向代理阻止管理控制台。