我已经在2个Ubuntu 11.10虚拟机上安装了Apache2,我试图获得一个非常基本的反向代理工作。
我什么都没有,但每个默认的网站设置。 我想要访问http://server.com/app ,并让它返回http://app.internal.server.com/ 。
从我读过的应该都是相当直接的,但是我没有Apache的经验,所以我可能错过了一些东西!
例如,我没有在Apache(ProxyPass指令除外)上设置任何关于/app 。
我使用apache2ctl mod_proxy启用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
您需要将代理configuration放置在/etc/apache2/sites-available/default的默认<VirtualHost>块中。
大多数configuration是惰性的,顺便说一句 – 您需要的只是ProxyPass / ProxyPassReverse ,如果后端服务器需要ProxyPreserveHost 。