用于多个glassfish域的Apache mod proxy ajp

用于多个glassfish域的Apache mod proxy ajp,apache,proxy,glassfish-3,ajp,Apache,Proxy,Glassfish 3,Ajp,我只能找到有关mod_jk的信息,但我想我不是唯一一个想做这件事的人,希望有人已经做了 我有一台ApacheHTTPD服务器,它已经有代理ajp通过端口8009连接到glassfish 3.1.2域。我想在同一个glassfish服务器上添加几个具有不同代码的域,并使用httpd代理 由于缺乏信息,我甚至不知道从哪里开始,我有点被卡住了。这是在VPS上运行的,我将/将在apache2上使用虚拟域。我遇到了同样的问题,我想其他人也会遇到 在此,我的解决方案: 您需要在glassfish上创建虚拟服

我只能找到有关mod_jk的信息,但我想我不是唯一一个想做这件事的人,希望有人已经做了

我有一台ApacheHTTPD服务器,它已经有代理ajp通过端口8009连接到glassfish 3.1.2域。我想在同一个glassfish服务器上添加几个具有不同代码的域,并使用httpd代理


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

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

在此,我的解决方案:

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

  • 创建特定的虚拟服务器
    • 在Glassfish管理界面中,转到

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

    • 选择新的

    • 填写值
      • Id:虚拟服务器的名称,我使用了与主机相同的名称(my.sample.com)
      • 主机:您希望映射的域(my.sample.com)
      • 网络侦听器:域将在哪些端口上侦听(http-listener1)
      • 默认Web模块:您的模块(mysuperapp_R1.1)

  • 确保您的应用已部署到配置(默认情况下为服务器配置),并且您的域已解析到服务器。 通过转到,您可以轻松测试设置http://my.sample.com:8080/ (假设应用程序在8080上运行)。你的应用程序应该正常工作

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

    我没有使用AJP,因为我与Primefaces GMap模块有冲突。当然,从代理变为AJP并不是难事。只需确保已经为虚拟服务器选择了启用JK的Newwork侦听器

    如何在apache上启用mod proxy或mod ajp proxy,只需谷歌即可:)

    <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>
    
    a2ensite my.sample.com
    /etc/init.d/apache2 reload