
nginxのngx_http_アクセスモジュールのドキュメントで、次のような記述を見つけました:
ルールが多数ある場合は、ngx_http_geo_モジュールモジュール変数が望ましいです。
geo モジュールで allow/deny を使用するにはどうすればよいですか? 次のようにします:
geo $listofips {
default 0;
8.8.8.8 1;
}
server {
# [...]
allow $listofips;
deny all;
}
次のエラーが発生します:
/path/to/config:97 のパラメータ「$listofips」が無効です
アクセス制御に geo モジュールを使用するにはどうすればよいでしょうか? ifs は明らかに機能しないため使用できませんtry_files
(nginx の IfIsEvil を参照)。
答え1
IF を使用しないと、この回答が書かれた時点ではこれは不可能だと確信しています。
この場合は次のようになります。
geo $trusted_user {
default 0;
8.8.8.8 1;
}
server
{
if ( $trusted_user = 0 ) {
return 403;
}
}
NGINX チームに提案を送信するには、次のアドレスにメールを送信してください: https://www.nginx.com/
この質問に対する回答は次の回答に基づいて得られました:NGINX - 条件付きで IP を許可または拒否する
ソースを検索「# try_files は if のため動作しません」で「例」: https://www.nginx.com/resources/wiki/start/topics/depth/ifisevil/#examples