我希望這裏是圍繞一些裂縫可以輕鬆解決,我甚至在一些論壇搜索後掙扎的問題:我需要後面放置一個Glassfish的第三版應用服務器一個Apache 2.2.x web服務器就像webhoster提供的一些部分,比如webmail,正在web服務器上運行(所以我不能關閉它)。因此,我決定使用較新的解決方案「mod_proxy_ajp」(它隨附在Apache中),而不是更復雜的「mod_jk」,以通過Apache將請求傳遞給Glassfish。我所做的到現在爲止是這樣的:
阿帕奇包括「/etc/httpd/conf.d/proxy_ajp.conf」,其中包含:阿帕奇GlassFish v3中使用SSL的前端使用的mod_proxy_ajp
- 的LoadModule proxy_ajp_module模塊/ mod_proxy_ajp.so
- 的ProxyPass /郵件!
- 的ProxyPass/AJP://本地主機:8080/
- ProxyPassReverse/AJP://本地主機:8080/
Glassfish的:
- HTTP偵聽器1正在偵聽8080用「JK監聽」啓用
- HTTP偵聽器2監聽8181,並使用我的SSL證書
但我想這樣做能有安全是這樣的:
- 路由到Apache(託管商的電子郵件網絡前端)
- 路由所有其他請求HTTP和HTTPS來Glassfish的所有請求「https://webmail.mydomain.com」。對於HTTP 8080或8009上的Glassfish http-listener-1,對於使用在8181上使用我的Glassfish http-listener-2註冊的SSL證書的HTTPS(在兩個方向上,傳遞和反向這些端口對用戶不可見)
- 強制將所有對Glassfish的請求重定向/切換到HTTPS,或者基於特定資源的web.xml安全配置(somefile.html)強制從HTTP切換到HTTPS(或者任何其他解決方案來執行此操作)
如果有人可以提供一個簡短的描述來解決這3個任務,我會非常高興,因爲我對Java Web管理並不深入。
提前感謝和歡呼聲
〜limubai