2011-06-25 6 views
2

シンプルなウェブサーバとしてnginxのを使用して(ETCなしリバースプロキシ魔法ではなく、さらにCGIは、...)それはVALID参照元のリストを設定し、同じような何かを行うことが可能です:nginxを使用して不正なリファラーをログに記録することはできます(ただし、要求を満たすことができます)。

if (referrer not in list of VALID referrers) { 
    log this referrer 
} 

本のようなものです標準のnginxソースを使用して並べ替えることができますか?

は、私は、これはおそらく少し関与している可能性を理解するよう、フルconfのための必要が正しいのconfディレクティブで私を指しては:)

おかげで十分でしょう...アップ書きません!

答えて

2
http { 
    map $http_referrer $log_ref { 
    default    0; 

    http://referrer1/path 1; 
    ~^http://referrer2/ 1; 
    } 

    server { 

    location/{ 
     if ($log_ref) { 
     access_log .... 
     } 
    } 

    } 
} 

Nginxバージョン0.9.6以降では、正規表現はmapに対応しています。マーカー~はそれらを示す役割を果たす。

+1

これは私が探しているようですが、上記の質問があります:私はプロトコル://ホスト/パスとして有効なリファラーのリストを参照してください。これをプロトコルに展開することは可能でしょうか://host/*スタイルリスト?私たちが許可したいのは、許可されるべきホストの小さなリストと、それ以外のすべてのもの(ログを記録した後、実際に何が起こっているかを見てみましょう。したがって、http:// valid_referer/page1、page2、page3などのリストは現実的ではありません。どう考えているか教えてください。 –

+1

'map'はregexpをサポートしています。私は答えを更新しました –

+1

booyah!これを約6ヶ月間したいと思っています。親切にアレックスありがとう。 –

関連する問題