对于以'/ admin'开头的请求,始终为'proxy_pass'并要求'auth_basic'。如何编写nginx配置?

时间:2011-06-09 14:12:44

标签: nginx

这就是我所拥有的。问题是代理设置是重复的。有什么更好的方法呢?

proxy_redirect off;

location / {
  if (!-f $request_filename) {
    proxy_pass http://backend;
  }
}

location /admin {
  auth_basic 'Restricted';
  auth_basic_user_file passwd;

  if (!-f $request_filename) {
    proxy_pass http://backend;
  }
}

2 个答案:

答案 0 :(得分:0)

试一试:

Location / {
   proxy_redirect off;
   if (!-f $request_filename) {
       proxy_pass http://backend;
   }

   location ~ ^/admin {
       auth_basic 'Restricted';
       auth_basic_user_file passwd;
   }


}

答案 1 :(得分:0)

这可能有所帮助。

proxy_redirect off;

location / {
  try_files $uri @proxy;
}

location @proxy {
  if ( $uri ~* "^/admin/? ) {
    auth_basic 'Restricted';
    auth_basic_user_file passwd;
  }
  proxy_pass http://backend;
}