如何配置mod_proxy来阻止除一个以外的每个站点

abu*_*ker 5 apache proxy mod-proxy

我正在尝试设置mod代理来阻止除特定域之外的所有流量.我可以使用ProxyBlock指令将其配置为阻止单个域,我可以使用ProxyBlock*阻止所有内容.有没有办法阻止除一个域之外的所有内容?

谢谢,

-安德鲁

sch*_*o72 6

在apache 2.2上,你需要有2个proxy部分.

ProxyRequests On
ProxyVia On

# block all domains except our target
<ProxyMatch ^((?!www\.proxytarget\.com).)*$>
   Order deny,allow
   Deny from all
</ProxyMatch>

# here goes your usual proxy configuration...
<ProxyMatch www\.proxytarget\.com >
   Order deny,allow
   Deny from all
   Allow from 127.0.0.1
</ProxyMatch>
Run Code Online (Sandbox Code Playgroud)

在apache 2.4上,它会更容易,因为您可以使用If指令而不是该regexp来反转域名的匹配.

注意:我从Revert与regexp匹配得到了正则表达式