我希望这里有一些破解可以轻松解决我在几个论坛中搜索后遇到的问题:我需要在 Apache 2.2.x 网络服务器后面放置一个 Glassfish v3 应用程序服务器,因为我的虚拟主机提供了一些部分,例如 webmail ,正在网络服务器上运行(所以我无法关闭它)。因此,我决定使用更新的解决方案“mod_proxy_ajp”(随 Apache 一起提供)而不是更复杂的“mod_jk”来通过 Apache 将请求传递给 Glassfish。到目前为止,我所做的是:
Apache 包含“/etc/httpd/conf.d/proxy_ajp.conf”,其中包含:
- LoadModule proxy_ajp_module 模块/mod_proxy_ajp.so
- 代理通行证/邮件!
- ProxyPass / ajp://localhost:8080/
- ProxyPassReverse / ajp://localhost:8080/
玻璃鱼:
- http-listener-1 正在侦听 8080 并启用了“JK 侦听器”
- http-listener-2 正在监听 8181 并使用我的 SSL 证书启用了安全性
但我想做的是:
- 将“https://webmail.mydomain.com”的所有请求路由到 Apache(webhoster 电子邮件 web-frontend)
- 将所有其他 HTTP 和 HTTPS 请求路由到 Glassfish。对于在 8080 或 8009 上对我的 Glassfish http-listener-1 的 HTTP,对于使用我在 8181 上的 Glassfish http-listener-2 注册的 SSL 证书的 HTTPS(在两个方向上,传递和反向这些端口不应该对用户可见)
- 要么强制对 Glassfish 的所有请求重定向/切换到 HTTPS,要么基于特定资源的 web.xml 安全配置(somefile.html)强制从 HTTP 切换到 HTTPS(或执行此操作的任何其他解决方案)
如果有人可以提供解决这 3 个任务的简短描述,我会非常高兴,因为我对 Java Web 管理的了解并不深入。
在此先感谢和欢呼
~limubai