Glassfish最简单的apache mod_proxy配置是什么?

时间:2011-03-16 11:06:07

标签: glassfish apache2 reverse-proxy mod-proxy

我有Apache2(在端口80上)和Glassfish(在端口8080上)的服务器。我想配置Apache以透明地代理对glassfish服务器的某个虚拟主机的请求 我尝试过这个,但是它不起作用:

<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>

有人可以告诉我为什么吗?感谢

3 个答案:

答案 0 :(得分:2)

我使用mod_proxy从不同的端口代理Jenkins和Redmine,我的配置看起来像这样,没有我认为不需要的<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/

要记住两件事:

  • 代理和代理网址中的上下文必须相同,例如/ jenkins /和... / jenkins /

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

答案 1 :(得分:1)

我使用像这样的简单VirtualHost。

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

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

确保您已加载mod_proxymod_proxy_http

答案 2 :(得分:0)

我通过转到配置 - &gt;在Glassfish上启用了JK; server-config - &gt; HTTP服务 - &gt; Http Listeners - &gt; jk-listener并启用它。

然后在我的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但尚未发布