Использование модуля https://github.com/anomalizer/ngx_aws_auth Я пытаюсь настроить Nginx в качестве прокси для корзины S3.К сожалению, вместо этого я получаю:
<Error>
<Code>SignatureDoesNotMatch</Code>
<Message>
The request signature we calculated does not match the signature you provided. Check your key and signing method.
</Message>
<AWSAccessKeyId>AKIxxxx</AWSAccessKeyId>
<StringToSign>
AWS4-HMAC-SHA256 Wed, 30-Jan-19 16:10:47 GMT 20190130/eu-west-1 /s3/aws4_request d7e6xxxx
</StringToSign>
<SignatureProvided>
1647xxxx
</SignatureProvided>
Моя конфигурация Nginx:
worker_processes 1;
events {
worker_connections 1024;
}
http {
server {
listen 80;
client_max_body_size 100G;
aws_access_key "AKIAxxxx";
aws_signing_key "489OW0/xxxx=";
aws_key_scope "20190130/eu-west-1/s3/aws4_request";
aws_s3_bucket "bucket_name";
location / {
aws_sign;
proxy_set_header x-amz-cf-id "";
proxy_pass http://bucket_name.s3.amazonaws.com;
proxy_set_header Host "bucket_name.s3-eu-west-1.amazonaws.com";
set_by_lua $now "return ngx.cookie_time(ngx.time())";
proxy_set_header x-amz-date $now;
proxy_hide_header "x-amz-id-2";
proxy_hide_header "x-amz-request-id";
resolver 8.8.8.8 valid=300s;
resolver_timeout 10s;
}
}
}
Ключ подписи был сгенерирован с использованием скрипта Python generate_signing_key, прикрепленного к репозиторию.Есть идеи, что тут не так?