我有一个 GlassFish 实例在不同的端口上运行不同的服务。Apache Web 服务器位于 GlassFish 前面,我想在 Apache 上设置虚拟主机以重定向到 GlassFish 服务器上的某些端口。
我已将 Tomcat AJP 添加为 jvm 选项以侦听端口 8009,并将必要的 .jars 放在 lib/ 下。
如何将 GlassFish 配置为从端口 8009 重定向到同一实例上的给定端口(服务)?
我有一个 GlassFish 实例在不同的端口上运行不同的服务。Apache Web 服务器位于 GlassFish 前面,我想在 Apache 上设置虚拟主机以重定向到 GlassFish 服务器上的某些端口。
我已将 Tomcat AJP 添加为 jvm 选项以侦听端口 8009,并将必要的 .jars 放在 lib/ 下。
如何将 GlassFish 配置为从端口 8009 重定向到同一实例上的给定端口(服务)?
我建议不要使用 ajp,而是使用 mod_proxy。我自己做到了这一点,并取得了巨大的成功。我设置我的东西的方式,我只是配置一个虚拟域指向一个目录,然后创建一个 .htaccess 文件:
当然,更改以匹配您的 HTTP 端口。在tomcat(我使用的)中,我还在conf下的server.xml中进行了编辑。对于端口 8080 上的连接器,我将 proxyName 设置为与虚拟主机匹配,并将 proxyPort 设置为 80。
我应该添加一条说明,我正在使用动态虚拟主机进行配置,/etc/apache2/sites-available 下的站点配置(我使用的是 debian)如下所示:
这意味着 stackoverflow.yourdomain.com 将转到 /var/www/yourdomain.com/sites/stackoverflow/html
我知道你没有要求最后一部分,我只是提供了它以全面概述我的设置,以及它如何适合 .htaccess 文件与 ProxyPass 和 ProxyPassReverse
您可以使用 Apache 指向不同类型的多个不同服务器。
我建议您使用一个 Apache 模块 mod_loadbalancer,它是专门为与 Glassfish 应用程序服务器一起使用而实现的,并且能够对从管理控制台启动的 Glassfish 应用程序服务器配置命令作出反应。
请参阅示例 - https://blogs.oracle.com/kshitiz/entry/load_balancer_plugin_in_glassfish