在apache中设置基本Web代理

mar*_*ark 22 apache proxy

我希望运行Apache作为Web开发的代理.我正在运行已安装并运行Apache 2.2.8的Mac OS X 10.5.4.

我想将我的JavaScript文件(在我的机器上本地运行)指向:

http://localhost/test.php
Run Code Online (Sandbox Code Playgroud)

这会打到本地apache服务器,然后将该apache实例转发到我真正的远程服务器:

http://www.mysite.com/test.php
Run Code Online (Sandbox Code Playgroud)

我看了几个演练,但它们似乎已经过时了.我想知道是否有最近如何设置它 - 这里的文档:

http://httpd.apache.org/docs/2.0/mod/mod_proxy.html

给出了一个基本的例子,但我不确定应该在哪里添加文本 - 到http.conf?我只是将其添加到那里,然后重新启动服务器?

谢谢

Dan*_*llo 37

您描述的代理设置称为反向代理.

通过使用mod_proxy模块,可以很容易地在Apache中进行设置.

设置反向代理的基本mod_proxy指令是ProxyPass.您通常会将以下行添加到本地Apache配置文件中(通常httpd.confapache2.conf):

ProxyPass     /remote/     http://www.mysite.com/
Run Code Online (Sandbox Code Playgroud)

在这种情况下,浏览器会请求,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
Run Code Online (Sandbox Code Playgroud)

在对配置文件进行任何更改后,请确保重新启动本地Apache服务.

  • ProxyPass应位于<VirtualHost>或.htaccess文件中. (3认同)
  • 您是否不必将ProxyPass放在标签内?我无法从外面开始 (2认同)