공개 S3 엔드 포인트의 프록시로 작동하도록 nginx를 구성하는 데 어려움을 겪고 있습니다. 나의 유스 케이스는 응답 페이로드를 보존하면서 S3 응답의 상태 코드를 변경해야한다.nginx에서 프록시 서버 응답의 상태 코드를 변경하는 방법은 무엇입니까?
location ~* ^/.* {
[...]
proxy_intercept_errors on;
error_page 200 =503 $upstream_http_location
}
을 : S3에 의해 반환
가능한 상태 코드 내 사용 사례를 들어 200 (403)을 포함, 나는이 작동하지 않는 다음을 시도 503
에 그 상태 코드를 매핑해야
,536,913 : 여기nginx: [emerg] value "200" must be between 300 and 599 in /etc/nginx/nginx.conf:xx
은보다 완벽한 조각입니다 :
Nginx에 다음과 같은 오류를 출력
server {
listen 80;
location ~* ^/.* {
proxy_http_version 1.1;
proxy_method GET;
proxy_pass http://my-s3-bucket-endpoint;
proxy_pass_request_body off;
proxy_set_header Content-Length "";
proxy_set_header Connection "";
proxy_set_header Host my-s3-bucket-endpoint;
proxy_set_header Authorization '';
proxy_hide_header x-amz-id-2;
proxy_hide_header x-amz-request-id;
proxy_hide_header Set-Cookie;
proxy_ignore_headers "Set-Cookie";
proxy_cache S3_CACHE;
proxy_cache_valid 200 403 503 1h;
proxy_cache_bypass $http_cache_purge;
add_header X-Cached $upstream_cache_status;
proxy_intercept_errors on;
error_page 200 =503 $upstream_http_location;
}
}
nginx에서 필요한 것을 얻을 수 있습니까?
유지 관리를 위해 백엔드 서버를 중지하면 아무런 트릭없이 오류가 발생합니다. – AnrDaemon
그런 다음 사용자에게 부하 분산 장치의 기본 일반 503 메시지가 표시됩니다. 결국 비 기술적 인 사람들이 구성 할 수있는 사용자 지정 오류 메시지를 반환해야합니다. – Wenzil