我希望这里有一些裂缝可以轻松解决我在几个论坛中搜索后遇到的问题:我需要将 Glassfish v3 应用程序服务器放在 Apache 2.2.x Web 服务器后面,作为我的 Web 托管商提供的一些部分,例如 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
- 代理通行证/邮件!
- 代理密码/ajp://localhost:8080/
- ProxyPassReverse / ajp://localhost:8080/
玻璃鱼:
- http-listener-1 正在侦听 8080,并启用“JK 侦听器”
- http-listener-2 正在侦听 8181 并使用我的 SSL 证书启用了安全性
但我想做的是这样的:
- 将“https://webmail.mydomain.com”的所有请求路由到 Apache(webhoster 电子邮件 web 前端)
- 将所有其他请求 HTTP 和 HTTPS 路由到 Glassfish。对于 8080 或 8009 上的 Glassfish http-listener-1 的 HTTP,对于使用在 8181 上的 Glassfish http-listener-2 上注册的 SSL 证书的 HTTPS(在两个方向上,传递和反向这些端口对用户不可见) )
- 强制对 Glassfish 的所有请求重定向/切换到 HTTPS,或者基于特定资源 (somefile.html) 的 web.xml 安全配置强制从 HTTP 切换到 HTTPS(或执行此操作的任何其他解决方案)
如果有人可以提供解决这 3 个任务的简短描述,我会非常高兴,因为我对 Java Web 管理的了解还不是很深。
预先感谢并欢呼
~梨木白
这是很多问题!听起来您正在尝试通过 Apache 代理 GlassFish,以便用户可以在标准端口(80 和 443)上访问您的应用程序,并且您有多个应用程序、多个域,并且您想要使用 SSL。
那么,接下来你还有很多工作要做!您可能需要研究 Apache 上的虚拟主机;特别是,一个虚拟主机用于 webmail.mydomain.com,另一个虚拟主机用于 mydomain.com。
如果您的网络服务器上没有两个 IP 地址(两个 NIC),那么您必须使用基于名称的虚拟主机。请注意,基于名称的虚拟主机和 SSL 不能轻松协同工作;您可能必须使用通用名称为 mydomain.com 且别名为 webmail.mydomain.com(altSubjectName 扩展名)的 SSL 证书。
有关配置 Apache 的信息可以在此处找到:
http://httpd.apache.org/docs/2.2/vhosts/ http://httpd.apache.org/docs/2.2/vhosts/
有关使用 SSL 的基于名称的虚拟主机的信息可以在此处找到:
http://wiki.apache.org/httpd/NameBasedSSLVHosts http://wiki.apache.org/httpd/NameBasedSSLVHosts
有关配置 GlassFish 的信息可在此处找到:
http://download.oracle.com/docs/cd/E18930_01/html/821-2416/gfaad.html http://download.oracle.com/docs/cd/E18930_01/html/821-2416/gfaad.html
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)