- Nginx は if の中で使えないディレクティブがある
- error_page と組み合わせる
- error_page で実行する location 内で include したり、認証設定を書く
- error_page と組み合わせる
以下の設定は error
if ($geo = 0) {
include /path/to/conf;
}
geo $geo { | |
default 0; | |
127.0.0.1/32 1; | |
} | |
location / { | |
error_page 418 = @auth_required; | |
recursive_error_pages on; | |
if ($geo = 0) { | |
return 418; | |
} | |
proxy_pass http://127.0.0.1; | |
} | |
location @auth_required { | |
include /path/to/conf; | |
proxy_pass http://127.0.0.1; | |
} |