我有一台带有 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>
谁能告诉我为什么?谢谢
最佳答案
我使用 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/
有两件事需要记住:
代理 URL 和代理 URL 中的上下文必须相同,例如/jenkins/和 .../jenkins/
您不应该对代理页面使用外部 URL,因为它会尝试路由到互联网并从那里进行连接,这很慢,并且防火墙可能会阻止端口。使用本地计算机名称或 IP。
关于glassfish - Glassfish 最简单的 apache mod_proxy 配置是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5324394/