0
/admin/foo/path
(및 admin/foo/p1/p2
등)은 물론 /admin/foo
과 일치해야하며 업스트림 서버를 사용할 수없는 경우 nginx 충돌을 피하기 위해 직접 proxy_pass를 사용하는 대신 변수를 사용해야합니다. 나는 (정규식 제외) /admin/foo
에 대해 별도의 위치를 가진를 포함하여 몇 가지 방법을 시도했습니다nginx 위치 경로 일치 문제
location ~ /admin/foo/(.*) {
auth_basic "Admin console";
auth_basic_user_file /etc/nginx/.htpasswd;
resolver 127.0.0.11 valid=0s;
set $target http://admin-console:80/$1;
proxy_pass $target;
}
,하지만 아무것도 작동하지 않습니다 : 내가있다.
감사합니다.하지만 질문에 언급 된대로 $ target 변수와 리졸버를 사용해야합니다. 그렇지 않으면 nginx가 시작될 때 admin-console이 다운되면 nginx가 중단됩니다. 또한/admin/foo (슬래시 없음) 및/admin/foo/경로 (/ some/location/admin/foo 아님)가 필요합니다. –