nginxinc/nginx-s3-gateway本项目提供了一个基于NGINX的配置,使其能够作为AWS S3或其他S3兼容服务的认证和缓存网关。这允许代理私有S3桶,无需用户进行认证。在代理层中,可以配置额外功能,例如:
所有这些功能都可以在标准NGINX配置中启用,因为本项目本质上是带有额外S3代理配置的NGINX。如果预定义配置足够,可直接使用;也可作为更自定义配置的基础示例。若预定义配置不满足需求,建议借鉴本项目的模式构建自己的配置。
本项目可作为独立容器运行,或作为Systemd服务运行。两种模式使用相同的NGINX配置,功能上完全一致。但作为Systemd服务运行时,可配置其他服务(如certbot以支持Let's Encrypt)。
有关构建和运行网关的详细信息,请参考快速开始指南。
以容器或Systemd服务运行时,网关通过以下环境变量进行配置:
ALLOW_DIRECTORY_LIST - 启用目录列表 - 可选值为true或falseAWS_SIGS_VERSION - AWS签名API版本 - 可选值为2或4DNS_RESOLVERS - (可选)配置NGINX使用的DNS解析器(空格分隔)S3_ACCESS_KEY_ID - 访问密钥S3_BUCKET_NAME - 要代理请求的S3桶名称S3_DEBUG - 启用AWS签名调试输出的标志(默认:false)S3_REGION - API关联的区域S3_SECRET_KEY - 密钥访问密钥S3_SERVER_PORT - 连接的SSL/TLS端口S3_SERVER_PROTO - 连接S3服务器的协议 - http或httpsS3_STYLE - S3主机/路径方式 - virtual、path或default。virtual是使用DNS风格的桶+主机名:端口的方式(默认值);path是将桶名作为URI路径第一个目录的方式,许多S3兼容服务使用此方式。更多信息参见此AWS博客文章PROXY_CACHE_VALID_OK - 设置响应码200和302的缓存时间PROXY_CACHE_VALID_NOTFOUND - 设置响应码404的缓存时间PROXY_CACHE_VALID_FORBIDDEN - 设置响应码403的缓存时间如果使用AWS实例配置文件凭证,需从配置中省略S3_ACCESS_KEY_ID和S3_SECRET_KEY变量。
使用Docker运行时,可通过--env-file标志从文件设置上述环境变量。作为Systemd服务运行时,环境变量在/etc/nginx/environment文件中指定。文件格式示例可参考settings.example文件。
有关扩展或测试网关的更多信息,请参考开发指南。
所有包含的代码均根据Apache 2.0许可授权。
manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务