Я размещаю простой веб-сайт stati c на корзине Amazon S3, и моя проблема c заключается в следующем: мне нужно обслуживать этот сайт через экземпляр EC2.
Все документы в моем S3 не являются общедоступный.
Я установил роль, которая может перечислять мои корзины и в которой есть все полномочия, и на моем EC2 я могу видеть свою корзину и просматривать / обновлять все файлы, которые находятся в ведро.
Я установил обратный прокси NGINX на своем экземпляре EC2 (который работает с предыдущей ролью IAM), который перенаправляет запросы на этот сервер в мое хранилище S3. Однако я получаю сообщение об ошибке 403. (Несанкционировано).
Вот мой nginx файл конфигурации:
server {
listen 80 default_server;
location / {
proxy_http_version 1.1;
proxy_set_header Authorization '';
proxy_set_header Host my-bucket.s3-website.eu-west-3.amazonaws.com;
proxy_hide_header x-amz-id-2;
proxy_hide_header x-amz-request-id;
proxy_hide_header x-amz-meta-server-side-encryption;
proxy_hide_header x-amz-server-side-encryption;
proxy_hide_header Set-Cookie;
proxy_ignore_headers Set-Cookie;
proxy_intercept_errors on;
add_header Cache-Control max-age=31536000;
proxy_pass http://my-bucket.s3-website.eu-west-3.amazonaws.com/;
}
}
Я предполагаю, что мой прокси-сервер не использует мою роль IAM EC2 для создания запрос.
Как мне этого добиться (сделать запрос на мой S3, используя мою роль IAM)? Нужно ли настраивать политику S3, чтобы мой обратный прокси-сервер работал?
Спасибо за ваши ответы!