특정 nginx 설정에 문제가 있습니다. 시나리오는 다음과 같습니다 : 응용 프로그램은 nginx 프록시를 통해 couchdb 서비스에 액세스해야합니다. nginx는 백엔드에 액세스하기 위해 인증 헤더를 설정해야합니다. 문제는 백엔드 서비스 엔드 포인트의 DNS가 때때로 변경되어 nginx를 다시로드 할 때까지 내 서비스가 작동하지 않는 것입니다.동적 nginx 업스트림이 인증 헤더와 함께 작동하지 않습니다.
업스트림을 변수로 설정하려고하는데 권한이 작동하지 않으면 백엔드에서 403을 반환합니다. 단지 업스트림 지시문을 사용하면 올바르게 작동합니다. 업스트림 변수는 올바른 값을 가지며 로그에 오류가 없습니다. 아래
는 config 조각 : 어떤 도움을 이해할 수있을 것이다
set $backend url.to.backend;
location/{
proxy_pass https://$backend/api;
proxy_redirect off;
proxy_http_version 1.1;
proxy_set_header Connection "";
proxy_set_header Host url.to.backend;
proxy_set_header Authorization "Basic <authorization_gibberish>";
proxy_temp_path /mnt/nginx_proxy;
}
.