aws_s3_bucket

aws_s3_bucket 指令设置要用于代理请求的 Amazon S3 存储桶的名称。

语法aws_s3_bucket bucket_name;
默认值none
上下文http, server, location
参数1

说明

aws_s3_bucket 指令是 NGINX 模块的一部分,该模块使得可以将请求代理到需要身份验证的 AWS 服务,特别是用于与 Amazon S3 的交互。该指令允许您指定 NGINX 服务器在处理请求时应使用的 S3 存储桶。通过定义存储桶名称,NGINX 可以为 S3 请求创建正确的端点 URL,从而便于在指定的存储桶中无缝访问已存储的对象。

该指令需要一个参数,即 S3 存储桶的名称。它可以在诸如 httpserverlocation 等不同上下文中使用。用户必须确保存储了必要的身份验证凭证和签名密钥,并通过该模块提供的其他指令(例如 aws_access_keyaws_signing_keyaws_key_scope)进行配置,以授予 NGINX 与 S3 安全通信的权限。

当发出请求时,如果在相关的 location 中也指定了 aws_sign,NGINX 将使用其他相关指令提供的详细信息按 AWS V4 signing process 自动对请求进行签名,从而能够针对 S3 存储桶进行身份验证以执行访问控制和数据操作。

配置示例

    location / {
        aws_access_key your_aws_access_key;
        aws_key_scope scope_of_generated_signing_key;
        aws_signing_key signing_key_generated_using_script;
        aws_s3_bucket your_s3_bucket;

        aws_sign;
        proxy_pass http://your_s3_bucket.s3.amazonaws.com;
    }

请确保所指定的存储桶名称拼写和大小写正确,因为 S3 存储桶名称区分大小写。

签名密钥必须保持更新;过期的密钥在访问 S3 存储桶时会导致身份验证失败。

在 proxy_pass 指令中处理尾部斜杠时要小心;配置错误可能导致意外的 404 错误。

← 返回所有指令