
Я пытаюсь извлечь статические файлы из корзины s3 в случае ошибки 502.
Вот как я настроил nginx для запросов:
error_page 502 = @static;
location / {
index index.php;
try_files $uri $uri/ /index.php;
# return 502;
proxy_intercept_errors on;
}
location @static{
rewrite ^/name/(.*) ^/bucket_name/$1 break;
proxy_pass http://s3.amazonaws.com;
}
Ошибка 502 возникает, когда nginx не может справиться с большой нагрузкой.
Теперь, когда я раскомментирую оператор «return 502» и комментирую оператор try_files, все в порядке, и данные правильно обрабатываются контейнером s3.
Но когда для приведенного выше кода я увеличиваю нагрузку на сайт с помощью loader.io (я проверил, он выдает ошибку 502), браузер получает ошибку 403 (403 Forbidden).
И это доброе сообщение отображается в браузере,
<Error>
<Code>AccessDenied</Code>
<Message>Access Denied</Message>
<RequestId>some_string</RequestId>
<HostId>
something
</HostId>
А когда я раскомментирую «return 502» и закомментирую «try_files statement» и увеличиваю нагрузку, s3 по-прежнему правильно обслуживает файлы.
Есть идеи, почему я получаю ошибку 403 из-за большой нагрузки, но такой ошибки нет, когда вручную возвращаю 502? Кроме того, есть ли другой альтернативный стиль для извлечения данных из контейнера s3 в случае большой нагрузки (ошибка 502)? Также являются ли ошибки 502, отправленные вручную и из-за большой нагрузки, одинаковыми?