Nginx - 特定のIPまたは特定のURLパスのみ認証をスキップすることを許可する

Nginx - 特定のIPまたは特定のURLパスのみ認証をスキップすることを許可する

私のnginx設定は次のとおりです。

location / {
    satisfy any;
    allow SOME_IP_ADDRESS;
    allow SOME_IP_ADDRESS;
    allow SOME_IP_ADDRESS;
    deny all;
    auth_basic "Restricted";
    auth_basic_user_file SOME_PATH/.htpasswd;
    include   /etc/nginx/mime.types;
    try_files $uri $uri/ @handler;
}

location ~ .php$ {
    satisfy any;
    allow SOME_IP_ADDRESS;
    allow SOME_IP_ADDRESS;
    allow SOME_IP_ADDRESS;
    deny all;
    auth_basic "Restricted";
    auth_basic_user_file SOME_PATH/.htpasswd;
    add_header X-UA-Compatible 'IE=Edge,chrome=1';
    try_files $uri $uri/ =404;
    fastcgi_pass   unix:/var/run/php5-fpm.sock;
    fastcgi_param  SCRIPT_FILENAME  $realpath_root$fastcgi_script_name;
    fastcgi_param  DOCUMENT_ROOT $realpath_root;
    include        fastcgi_params;
}

現在の結果は、リストされたIPだけが認証なしでWebサイトにアクセスできることです。
私はこの方法を維持したいが、要求されたURIに特定の文字列が含まれている場合は、誰もが認証をスキップできるようにします。
例:domain.com/...SOME-STRING...と入力した人は誰でも承認をスキップできます。

- どんなアイデアもありますか?

ベストアンサー1

おすすめ記事