0

我只能找到有关 mod_jk 的信息,但我认为我不能是唯一一个想要这样做的人,希望有人已经这样做了。

我有一个单一的 apache httpd 服务器,它已经有代理 ajp 通过端口 8009 连接到 glassfish 3.1.2 域。我想在同一个 glassfish 服务器上添加更多具有不同代码的域,并拥有 httpd 代理。

由于缺乏信息,我什至不知道从哪里开始。这是在 VPS 上运行的,我将/将在 apache2 上使用虚拟域。

4

1 回答 1

0

我遇到了同样的问题,我想其他人也会。

特此我的解决方案:

您需要在 glassfish 上创建虚拟服务器,设置正确的根模块并使用完整的 url 转发您的请求。

  1. 创建特定的虚拟服务器

    • 在 Glassfish 管理界面中,转到

      配置 > 服务器配置(默认) > 虚拟服务器

    • 选择新的

    • 填写值

      • id:虚拟服务器的名称,我使用与主机相同的名称(my.sample.com
      • 主机:您要映射的域(my.sample.com
      • 网络侦听器:域将侦听哪些端口(http-listener1
      • 默认 Web 模块:您的模块(mysuperapp_R1.1

确保您的应用程序已部署到配置(默认为 server-config),并且您的域解析到服务器。您可以通过访问http://my.sample.com:8080/轻松测试您的设置(假设应用程序在 8080 上运行)。您的应用程序应该可以运行。

2)在apache中转发请求。(在 debian 上,但对于其他发行版应该类似),在 /etc/apache2/sites-available 中创建一个 my.sample.com 文件(可以是任何东西,但这非常明确),其中包含以下内容(更改域名当然)

<VirtualHost *:80>
ServerName my.sample.com
<Proxy *>
    Order deny,allow
    Allow from all
</Proxy>
<Location />
    ProxyPass http://my.sample.com:8080/
    ProxyPassReverse http://my.sample.com:8080/
</Location>
</VirtualHost>

启用配置并重新加载 apache(在 Debian 上,以下命令应该可以工作)

a2ensite my.sample.com
/etc/init.d/apache2 reload

由于我与 Primefaces GMap 模块发生冲突,我没有使用 AJP。当然,从代理更改为 AJP 并不是难事。只需确保还为虚拟服务器选择了启用 JK 的网络侦听器。

如何在 apache 上启用 mod-proxy 或 mod ajp 代理,只需 google 即可:)

于 2013-01-08T10:21:29.590 回答