我正在尝试在Nginx中与proxy_pass
一起验证多个位置。 Nginx配置如下:
server {
listen 443;
server_name example.com;
location /hg/ {
rewrite ^/hg/(.*)$ /$1 break;
proxy_pass http://127.0.0.1:8001;
auth_basic "hg";
auth_basic_user_file hg.htpasswd;
location /hg/repo1/ {
auth_basic "hg-repo1";
auth_basic_user_file repo1.htpasswd;
}
location /hg/repo2/ {
auth_basic "hg-repo2";
auth_basic_user_file repo2.htpasswd;
}
}
}
验证工作正常,但代理在嵌套位置(repo1,repo2)中断开。似乎proxy_pass
配置不是继承的。所以,Nginx返回404(在/ hg / repo1和/ hg / repo2上)。
任何提示?
答案 0 :(得分:1)
您需要为每个proxy_pass
块重复location
。
此外,没有嵌套location
块的功能。通常它们不是嵌套的。