2017-10-23 13 views
0

は、私がアクセスログを見て、ルートが遮断するために取得する必要があります:nginxの場所と接続権限

location /foo/{ deny all;} 
location /foo2/{deny all;} 

私は良いを費やす必要があります無限のルートがあるので、それらの特定のルートでの接続をブロックするすべてのアクセスログを調べます。

特定のルートを拒否する代わりに、アプリケーションに存在しない他のすべてのルート上の接続をブロックするようにnginxを設定できますか?

[]さん

ペドロ

答えて

1

最初のレベルのフォルダのリストを作成し、次にあなたがアクセスしていないそれらのすべてへのアクセスをブロックすることができます

events { 
    worker_connections 1024; 
} 
http { 
    map $request_uri $allowed_routes { 
     ~^/(css|assets|js)/ "off"; 
     /"off"; 
     default "Not allowed"; 
    } 

    server { 
     auth_basic $allowed_routes; 
     auth_basic_user_file /var/www/html/.htpasswd; 
     location/{ 
      echo "You can reach API $uri and $args, $arg_hash_folder"; 
     } 
    } 
} 

を必要とあなたは他の検討するかもしれませんまたアプローチしますが、これは私のためにうまくいきます

関連する問題