2011-03-16 29 views
2

我有一台Apache2(端口80)和Glassfish(端口8080)的服务器。我想配置Apache以透明地将al请求委托给特定的虚拟主机给glassfish服务器。
我尝试这样做,但它doesen't工作:什么是Glassfish的最简单的apache mod_proxy配置?

<VirtualHost *> 
ServerName tognettiimmobiliare.com 
ServerAlias www.tognettiimmobiliare.com 

ProxyRequests on 

<Proxy *> 
Order deny,allow 
Allow from all 
</Proxy> 

ProxyPreserveHost On 

ProxyPass/http://tognettiimmobiliare.com:8080/tognettiWEB/ 
ProxyPassReverse/http://tognettiimmobiliare.com:8080/tognettiWEB/ 

</VirtualHost> 

任何人能告诉我为什么吗?谢谢

回答

1

我使用一个简单的VirtualHost像这样的工作。

<VirtualHost *:80> 
# ServerName www.itmanx.com 

    ProxyPass/http://www.itmanx.int/ 
    ProxyPassReverse/http://www.itmanx.int/ 
</VirtualHost> 

请确保您有mod_proxymod_proxy_http加载

2

我从一个不同的端口的mod_proxy进行代理詹金斯和管理平台,我的配置看起来像这样,SANS并不需要额外的<Proxy>部分,我相信:

LoadModule proxy_module modules/mod_proxy.so 
LoadModule proxy_http_module modules/mod_proxy_http.so 

ProxyPass /jenkins/ http://localhost:8080/jenkins/ 
ProxyPassReverse /jenkins/ http://localhost:8080/jenkins/ 

ProxyPass /redmine/ http://localhost:81/redmine/ 
ProxyPassReverse /redmine/ http://localhost:81/redmine/ 

有两件事情要记住:

  • 的情况下需要在两个代理和代理网址相同,如/詹金斯/和... /詹金斯/

  • 你不应该使用外部URL的代理页面,因为它会再尝试路由到互联网并从那里连接,这很慢,防火墙可能会阻止端口。使用本地机器名称或IP。

0

我启用JK Glassfish上通过转到配置 - >服务器配置 - > HTTP服务 - > HTTP侦听器 - > JK侦听器,并启用它。

然后在我的Apache配置中设置代理这种方式,以便SSL数据也被传输。

<Location /util> 
SSLOptions +StdEnvVars +ExportCertData 
ProxyPass ajp://localhost:8004/util 
</Location> 

一个警告,虽然,mod_proxy_wstunnel似乎并没有与这个工作,或者至少我还没有找到如何却因为我用WSS和https://issues.apache.org/bugzilla/show_bug.cgi?id=55320需求2.4.10还未被释放。

相关问题