我已经在 2 个 ubuntu 11.10 VM 上安装了 Apache2,并且正在尝试使一个非常基本的反向代理运行。
我在每个站点上都只设置了默认站点。我想转到http://server.com/app
并让它返回http://app.internal.server.com/
。
从我读过的内容来看,这应该是相当简单的,但我没有使用 Apache 的经验,所以我可能遗漏了一些东西!
例如,我没有在 Apache 上设置任何东西(ProxyPass 指令除外)来告诉它有关的任何信息/app
。
我启用了 mod_proxy,apache2ctl mod_proxy
并将以下内容添加到 httpd.conf,然后重新启动 apache2:
ProxyRequests Off
ProxyPreserveHost On
<Proxy *>
Order allow,deny
Allow from all
</Proxy>
ProxyPass /app/ http://app.internal.server.com/
ProxyPassReverse /app/ http://app.internal.server.com/
在 apache2 中error.log
我看到:
File does not exist: /var/www/app
答案1
您需要将代理配置放在默认<VirtualHost>
块中/etc/apache2/sites-available/default
。
顺便说一下,大多数配置都是无效的 - 您所需要的只是ProxyPass
/ProxyPassReverse
以及潜在的ProxyPreserveHost
(如果后端服务器需要的话)。