我只能找到关于mod_jk的信息,但我认为我不可能是唯一想要这样做的人,希望有人已经这样做了。
我有一个apache httpd服务器已经有代理ajp通过端口8009连接到glassfish 3.1.2域。我想在同一个glassfish服务器上添加几个不同代码的域,并将httpd代理作为好。
由于缺乏信息,我甚至不确定从哪里开始,因此陷入困境。这是在VPS上运行的,我将/将在apache2上使用虚拟域。
答案 0 :(得分:0)
我遇到了同样的问题,我想其他人也会这样。
我的解决方案:
您需要在glassfish上创建虚拟服务器,设置正确的根模块并使用完整的URL转发您的请求。
创建特定的虚拟服务器
在Glassfish管理界面中,转到
配置> server-config(默认)>虚拟服务器
选择新
- Id:虚拟服务器的名称,我使用的是主机( my.sample.com )
- hosts:您要映射的域( my.sample.com )
- 网络侦听器:域将侦听的端口( http-listener1 )
- 默认网络模块:您的模块( mysuperapp_R1.1 )
确保您的应用已部署到配置(默认情况下为server-config),并且您的域将解析为服务器。 您可以通过转到 http://my.sample.com:8080/ 轻松测试您的设置(假设该应用程序在8080上运行)。你的应用应该正常工作。
2)在apache中转发请求。 (在debian上,但对于其他发行版应该类似),在/ etc / apache2 / sites中创建一个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的nework-listener。
如何在apache上启用mod-proxy或mod ajp代理,只需google for it:)