2012-10-04 36 views
1

在我的環境中,Jboss5在同一臺物理服務器上配置了apache2。所以帶apache2的Jboss:任何在端口8080上調用的應該重定向到80

  1. HTTP://my.domain.com:80 /用戶/登錄 - >應用程序的登錄頁面
  2. HTTP://my.domain.com:8080 /用戶/登錄 - >應用程序的登錄頁面
  3. http://my.domain.com:8080/- > Jboss管理控制檯。

現在,我的實際需求是什麼所謂的端口8080上應該被重定向到80

  1. HTTP://my.domain.com:80 /用戶/註冊 - > HTTP:/ /my.domain.com/user/login - >應用程序登錄頁面[現在正常工作]
  2. http://my.domain.com:8080/user/login - > http://my.domain.com/user/login - >應用程序登錄頁面
  3. http://my.domain.com:8080/- > http://my.domain.com/user/login->應用程序登錄頁面。

我到目前爲止做了什麼,更新ROOT.war/index.html元轉發到應用程序登錄頁面,我固定點#3幾乎不知何故; bu不正確!我們有什麼想法!

感謝

回答

0

你可以寫一個servlet過濾器檢查,在應用程序運行的端口。如果它在端口8080上運行,則將response.sendDirect()發送到正確的端口。

您需要在web.xml文件中配置servlet過濾器。

編輯: 如果您沒有自由更改web.xml文件,我會建議您採取最佳做法,即只讓一種方式公開應用程序,即通過端口80.您可以從防火牆的外部網絡中阻止端口8080,以便所有流量都通過端口80. 最好讓apache2完成其工作,作爲反向代理服務器。如果您希望稍後進行負載平衡,這也很有用。

+0

嗨,丹尼爾,感謝您的回覆!這是真的,但在這裏我有一些限制,即jboss包含在BPM工具下,並且我們沒有太多的自由以任何方式編寫/更新web.xml。我們可以在配置層面上做到這一點! – user1719813

+0

我認爲你最好只使用端口80,並從外部阻止端口8080(通過防火牆)。如何設置防火牆取決於你在什麼操作系統。 –

+0

嗨,丹尼爾,不知道我們能不能做到這一點,因爲有四個集羣服務器,其中兩個有jboss實例,剩下的兩個bpm引擎正在引用它們。阻止8080將導致BPM引擎無法正常工作! – user1719813

相關問題