我希望运行Apache作为Web开发的代理。我正在运行Mac OS X 10.5.4,它已经安装并运行了Apache 2.2.8。
我想将我的JavaScript文件(在我的机器上本地运行)指向:
http://localhost/test.php
会打到本地apache服务器,然后将该apache实例转发到我真正的远程服务器:
http://www.mysite.com/test.php
我看了一些演练,但它们似乎已经过时了。我想知道是否有最新的设置方法 - 这里的文档:
http://httpd.apache.org/docs/2.0/mod/mod_proxy.html
给出了一个基本的例子,但我不确定应该在哪里添加文本 - 到http.conf?我只是将其添加到那里,然后重新启动服务器吗?
由于
答案 0 :(得分:34)
您描述的代理设置称为Reverse Proxy。
使用mod_proxy模块可以很容易地在Apache中进行设置。
设置反向代理的基本mod_proxy指令是ProxyPass
。您通常会将以下行添加到本地Apache配置文件中(通常为httpd.conf
或apache2.conf
):
ProxyPass /remote/ http://www.mysite.com/
在这种情况下,浏览器会请求http://localhost/remote/test.php
,但您的本地Apache服务器将通过充当http://www.mysite.com/test.php
的代理来实现此目的。
您还需要确保在Apache配置文件中取消注释以下配置行:
LoadModule proxy_module /usr/lib/apache2/modules/mod_proxy.so
LoadModule proxy_http_module /usr/lib/apache2/modules/mod_proxy_http.so
确保在对配置文件进行任何更改后重新启动本地Apache服务。