s3 preinged url nginx ошибка обратного прокси-сервера - SignatureDoesNotMatch - PullRequest
1 голос
/ 03 апреля 2020

Я хочу отобразить pdf из s3 в браузере, используя pdf js - https://mozilla.github.io/pdf.js/ Вместо использования URL-адреса s3, у меня есть обратный прокси-сервер, такой как

URL www.my-site-url.com/public/s3-presinged-url-bucket-part-with-sign-info

NGINX Блок

location /public {
    proxy_pass https://XXXX.s3.us-west-2.amazonaws.com/;
}

Но S3 выдает ошибку

<Code>SignatureDoesNotMatch</Code>
<Message>The request signature we calculated does not match the signature you provided. Check your key and signing method.</Message>

Как правильно отменить прокси?

1 Ответ

0 голосов
/ 08 мая 2020

Я столкнулся с подобной ситуацией при переходе к предварительно назначенным URL-адресам S3. Все работало на машинах разработки, но не работало на производстве, потому что CloudFront добавил дополнительные заголовки, которые изменили подпись. В моем случае, поскольку у меня уже были действительные предварительно назначенные URL-адреса, при условии, что заголовки не были удалены, я добавил proxy_pass_request_headers off;, чтобы сделать прокси-запрос примерно эквивалентным прямому GET-запросу.

...