在位置限制nginx的remote_user方法

我有一个用户,我想限制某些位置的方法,并拒绝访问其他的一切。

upstream api { server 127.0.0.1:9015; keepalive 8; } server { listen 80 default_server; server_name _; client_max_body_size 20m; auth_basic "Restricted"; auth_basic_user_file .htpasswd; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $http_host; proxy_set_header X-NginX-Proxy true; proxy_redirect off; location ~ ^/api/subscribe(.*) { if ( $remote_user = "tester" && $user_method !~ ^(GET)$ ) { return 403; } proxy_pass http://api$uri$is_args$args; } location ~ ^/api/auth(.*) { if ( $remote_user = "tester" && $user_method !~ ^(GET|POST)$ ) { return 403; } proxy_pass http://api$uri$is_args$args; } location / { if ( $remote_user = "tester" ) { return 403; } proxy_pass http://api/; } } 

就我所知,nginx不支持嵌套条件。 我怎样才能正确地做到这一点?