5

特定のドメイン以外のすべてのトラフィックをブロックするように mod プロキシを設定しようとしています。ProxyBlock ディレクティブを使用して個々のドメインをブロックするように構成でき、ProxyBlock * を使用してすべてをブロックできます。1 つのドメイン以外をすべてブロックする方法はありますか?

ありがとう、

-アンドリュー

4

3 に答える 3

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>

Apache 2.4では、正規表現の代わりにIfディレクティブを使用してドメイン名の一致を反転できるため、はるかに簡単になります。

注:Invertからregexpをregexpと一致させました

于 2012-03-21T15:57:53.707 に答える
1

試す:

ProxyBlock *
ProxyPass <path> <destination>

それが機能するかどうかを確認します。

編集:それをスクラッチします。ここでmod_rewriteを使用してクリエイティブにする必要があると思います(基本的なリファレンスはhttp://httpd.apache.org/docs/current/rewrite/proxy.htmlにあります):

RewriteCond  %{HTTP_HOST}    =allowtoproxy.com
RewriteRule  ^/(.*)$         http://proxytarget.com/$1 [P]
ProxyPassReverse / http://proxytarget.com/

それを試してみませんか?

于 2011-05-25T19:36:47.527 に答える
0

このコードを試してください:

RewriteEngine On
# Testing URLs
RewriteCond %{HTTP_HOST} !google.co.uk [NC]
RewriteCond %{HTTP_HOST} !bbc.co.uk [NC]
RewriteCond %{HTTP_HOST} !amazon.com [NC]
RewriteCond %{HTTP_HOST} !centos.org [NC]
RewriteCond %{HTTP_HOST} !opensuse.org [NC]
# Url to redirect to if not in allowed list
RewriteRule (.*) http://example.org/notallowed.htm
于 2011-10-24T14:48:20.023 に答える