apache 正向代理可以被虚拟主机或.htaccess 限制吗?

apache 正向代理可以被虚拟主机或.htaccess 限制吗?

我有一个 VPS,想使用正向代理设置,这样我就可以看起来像是从我的 VPS IP 地址而不是我的客户端地址浏览。如果我在 httpd.config 中设置代理指令,如下所示:

<IfModule proxy_module>
  <IfModule proxy_http_module>

    ProxyRequests On
    ProxyVia On

    <Proxy *>
      Order Deny,Allow
      Deny from all
      Allow from (**client ip address**)
    </Proxy>

  </IfModule>
</IfModule>

... 我认为这只会允许我的客户端 IP 地址使用代理,但也会阻止世界其他地方从我的服务器访问网页。

有没有办法将所有这些放入虚拟主机或 .htaccess 指令中,以便代理仅在通过特定 URL 访问时才“启动”?

答案1

当然,请参阅可在虚拟主机中使用的各种 apache 代理指令的“上下文”行:http://httpd.apache.org/docs/2.2/mod/mod_proxy.html。我不认为你能用它.htaccess来达到这个目的。

更新

您的配置看起来正确,但是,请从您的<VirtualHost>配置中的以下内容开始:

  • 删除<ifmodule>标签——只要你LoadModule在配置文件中较早的地方有必要的行

更新:类似这样的操作应该可以帮你找到正确的方法。请注意,这尚未经过测试。

<VirtualHost *:80>
ServerName myproxydomain.com

    ProxyRequests On
    ProxyVia On

    ProxyPass / http://domaintoproxy.com/
    ProxyPassReverse / http://domaintoproxy.com/

    <Proxy *>
      Order Deny,Allow
      Deny from all
      Allow from (**client ip address**)
    </Proxy>

</VirtualHost>

相关内容