2016-03-29 14 views
0

以下は、自分のnginx.confファイルの関連セクションです。 私はconfファイルの最初の場所ブロックを削除すると、私のバックエンドサーバーに転送するjs | css ...要求のみを表示します。私が達成しようとしているのは、それらの拡張子のファイルに対してnginxアクセスログをオフにすることです。nginxプロキシ設定がバックエンドサーバに要求を転送しない

誰もがアクセスログをオフにするにはまだプロキシの場所にこれらの要求を転送できるように動作するnginx設定技術を知っていますか?

... 
location ~* \.(js|css|png|jpg|jpeg|gif|ico)$ { 
      access_log off; 
} 

location/{ 

if ($ignore_ua) { 
    access_log off; 
    return 200; 
} 
proxy_set_header X-Forwarded-Host $host; 
proxy_set_header X-Forwarded-Server $host; 
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 
proxy_pass http://127.0.0.1:7777/; 
} 

答えて

1

nginxは、要求を処理するロケーションブロックを選択します。 .jsファイルの場合は、location ~* \.(js|css|png|jpg|jpeg|gif|ico)$ブロックが使用されます。 location /ブロック内のディレクティブは何も関係していません。詳細は、this documentを参照してください。

条件付きログが必要な場合は、別の場所ブロックの代わりにaccess_logディレクティブにif=パラメータを使用できます。例については、this documentを参照してください。あなたのケースでは

、それは次のようになります。mapディレクティブはhttpブロックに行くこと

map $request_uri $loggable { 
    default 1; 
    \.(js|css|png|jpg|jpeg|gif|ico)(\?|$) 0; 
} 
access_log /path/to/access.log combined if=$loggable; 

注意。

関連する問題