Я борюсь за свою конфигурацию nginx 1.4.6
, потому что я не могу прокси передать ошибки 5xx и 4xx, устанавливая html-файл, размещенный в корзине S3, используя вместо этого адрес CDN вместо адреса прямой корзины.Я хочу сделать это так, чтобы, если я изменил источник дистрибутива, мне не пришлось вручную изменять все мои конфигурации nginx на всех моих серверах.
соответствующая часть моей рабочей конфигурации:
error_page 400 404 @error;
error_page 502 503 @maintenance;
location @maintenance {
rewrite ^(.*)$ /mybucket/error_pages/under_construction.html break;
proxy_pass https://s3-eu-west-1.amazonaws.com;
}
location @error {
rewrite ^(.*)$ /mybucket/error_pages/under_construction.html break;
proxy_pass https://s3-eu-west-1.amazonaws.com;
}
но, как вы видите, мне пришлось прокси-сервер, используя URL-адрес моего сегмента S3.https://s3-eu-west-1.amazonaws.com
Затем я создал дистрибутив CloudFront, источником которого является контейнер S3 mybucket
с CNAME mybucket.mywebsite.com
.
Затем я попытался изменить конфигурацию следующим образом:
error_page 400 404 @error;
error_page 502 503 @maintenance;
location @maintenance {
rewrite ^(.*)$ /error_pages/under_construction.html break;
proxy_pass https://mybucket.mywebsite.com;
}
location @error {
rewrite ^(.*)$ /error_pages/under_construction.html break;
proxy_pass https://mybucket.mywebsite.com;
}
но это не работает, и я не понимаю, почему.
Есть предложения по этому поводу?Это реально сделать?
Спасибо, Симона