http-aws-auth #
This nginx module can proxy requests to authenticated S3 backends using Amazon's V4 authentication API. The first version of this module was written for the V2 authentication protocol and can be found in the AuthV2 branch.
Source: upstream source
Directives
aws_access_key #
syntax: aws_access_key 1 arg (string); · context: http, server, location
Stores a single string value.
aws_endpoint #
syntax: aws_endpoint 1 arg; · context: http, server, location
Overrides the default s3.amazonaws.com endpoint used when signing and proxying requests to a region-specific S3 endpoint.
aws_key_scope #
syntax: aws_key_scope 1 arg (string); · context: http, server, location
Stores a single string value.
aws_s3_bucket #
syntax: aws_s3_bucket 1 arg (string); · context: http, server, location
Stores a single string value.
aws_sign #
syntax: aws_sign no args; · context: http, server, location
Enables AWS Signature V4 signing of the proxied request within the location block.
aws_signing_key #
syntax: aws_signing_key 1 arg (string); · context: http, server, location
Stores a single string value.
Example
server {
listen 8000;
aws_access_key your_aws_access_key; # Example AKIDEXAMPLE
aws_key_scope scope_of_generated_signing_key; #Example 20150830/us-east-1/service/aws4_request
aws_signing_key signing_key_generated_using_script; #Example L4vRLWAO92X5L3Sqk5QydUSdB0nC9+1wfqLMOKLbRp4=
aws_s3_bucket your_s3_bucket;
location / {
aws_sign;
proxy_pass http://your_s3_bucket.s3.amazonaws.com;
}
# This is an example that does not use the server root for the proxy root
location /myfiles {
rewrite /myfiles/(.*) /$1 break;
proxy_pass http://your_s3_bucket.s3.amazonaws.com/$1;
aws_access_key your_aws_access_key;
aws_key_scope scope_of_generated_signing_key;
aws_signing_key signing_key_generated_using_script;
}
# This is an example that use specific s3 endpoint, default endpoint is s3.amazonaws.com
location /s3_beijing {
rewrite /s3_beijing/(.*) /$1 break;
proxy_pass http://your_s3_bucket.s3.cn-north-1.amazonaws.com.cn/$1;
aws_sign;
aws_endpoint "s3.cn-north-1.amazonaws.com.cn";
aws_access_key your_aws_access_key;
aws_key_scope scope_of_generated_signing_key;
aws_signing_key signing_key_generated_using_script;
}
}