Apache HTTPD代理 – 拒绝指令被忽略

我使用Apache httpd-2.2.3运行CentOS 5.5。

我想build立一个代理服务器,它将转发来自单个IP地址(下面例子中的123.123.123.123)的代理请求,并拒绝来自所有其他地址的请求。

问题是,Apache通过端口81代理所有请求(而不是仅仅来自123.123.123.123,拒绝所有其他stream量)。

我的configuration文件如下:

Listen 81 <VirtualHost *:81> ServerName my.server.com ProxyRequests On ProxyVia On <Proxy *:81> Order Deny,Allow Deny from all Allow from 123.123.123.123 </Proxy> ErrorLog /var/log/httpd/proxy-error.log TransferLog /var/log/httpd/proxy-transfer.log LogLevel debug </VirtualHost> 

这是对端口81的任何引用的唯一configuration文件。端口80(它服务于一个网站)上的stream量不允许正向代理。 当通过curl / Firefox代理进行testing时,我绝对不在IP地址123.123.123.123。

注释掉“允许从123.123.123.123”没有任何区别 – 在这一点上,它应该拒绝所有通信到端口81。

谁能告诉我如何解决上述configuration文件,以提供所需的行为?

<Proxy>块的匹配string用于请求的资源,而不是服务器的侦听器。

试试<Proxy *>而不是<Proxy *:81>