
如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
多架构构建支持。
这是一个AWS S3反向代理工具,支持基本认证功能,无需将S3存储桶配置为“网站托管”模式即可使用。
URL映射示例:http://this-proxy.com/access/ -> s3://bucket/access/index.html
以下是所有可用环境变量的详细说明:
| 环境变量 | 描述 | 是否必填 | 默认值 |
|---|---|---|---|
| AWS_S3_BUCKET | 要代理的S3存储桶名称 | * | - |
| AWS_S3_KEY_PREFIX | S3对象键前缀 | 否 | - |
| AWS_REGION | S3存储桶所在的AWS区域 | 否 | us-east-1 |
| AWS_ACCESS_KEY_ID | 用于API访问的AWS访问密钥 | 否 | EC2实例角色 |
| AWS_SECRET_ACCESS_KEY | 用于API访问的AWS密钥 | 否 | EC2实例角色 |
| AWS_API_ENDPOINT | 本地开发用的AWS API端点 | 否 | - |
| INDEX_DOCUMENT | 索引文档名称 | 否 | index.html |
| DIRECTORY_LISTINGS | 当URL以/结尾时列出文件 | 否 | false |
| DIRECTORY_LISTINGS_FORMAT | 目录列表格式:html(可被爬虫解析)、shtml(与pip兼容)或apache(Apache风格) | 否 | - |
| DIRECTORY_LISTINGS_CHECK_INDEX | 列出文件前检查目录中是否存在INDEX_DOCUMENT | 否 | false |
| HTTP_CACHE_CONTROL | 覆盖S3的HTTP Cache-Control响应头 | 否 | S3对象元数据 |
| HTTP_EXPIRES | 覆盖S3的HTTP Expires响应头 | 否 | S3对象元数据 |
| BASIC_AUTH_USER | 基本认证用户名(空格分隔的列表) | 否 | - |
| BASIC_AUTH_PASS | 基本认证密码(空格分隔的列表) | 否 | - |
| SSL_CERT_PATH | TLS证书文件路径(cert.pem) | 否 | - |
| SSL_KEY_PATH | TLS密钥文件路径(key.pem) | 否 | - |
| CORS_ALLOW_ORIGIN | CORS:允许访问资源的URI | 否 | - |
| CORS_ALLOW_METHODS | CORS:允许的HTTP请求方法(逗号分隔列表) | 否 | - |
| CORS_ALLOW_HEADERS | CORS:支持的请求头(逗号分隔列表) | 否 | - |
| CORS_MAX_AGE | CORS:预检请求结果的最大缓存时间(秒) | 否 | 600 |
| APP_PORT | 服务监听端口 | 否 | 80 |
| APP_HOST | 服务监听主机 | 否 | 本地系统所有可用的单播和任播IP地址 |
| ACCESS_LOG | 将访问日志发送到/dev/stdout | 否 | false |
| FORWARDED_FOR | 用于解析代理IP地址的请求头名称 | 否 | - |
| STRIP_PATH | 要剥离的路径前缀 | 否 | - |
| CONTENT_ENCODING | 如果请求允许则压缩响应数据 | 否 | true |
| HEALTHCHECK_PATH | 指定时,该路径始终返回200 OK | 否 | /healthz |
| HEALTHCHECKER_PATH | Docker健康检查脚本使用的路径(如与HEALTHCHECK_PATH不同) | 否 | - |
| METRICS_PATH | Prometheus指标暴露路径 | 否 | - |
| VERSION_PATH | 代理版本信息路径 | 否 | - |
| GET_ALL_PAGES_IN_DIR | 如果为true,将多次调用以获取目标目录的所有分页内容 | 否 | false |
| MAX_IDLE_CONNECTIONS | 允许到S3存储的空闲连接数 | 否 | 150 |
| IDLE_CONNECTION_TIMEOUT | 到S3存储的连接超时时间(秒) | 否 | 10 |
| DISABLE_COMPRESSION | 如果为true,将原样传递编码内容 | 否 | true |
| INSECURE_TLS | 如果为true,将跳过证书检查 | 否 | false |
| JWT_SECRET_KEY | 用于验证请求的JSON Web Token密钥 | 否 | - |
| JWT_USER_FIELD | 日志中使用的JWT用户名字段 | 否 | - |
| JWT_HEADER | 要使用的JWT请求头(替代Authorization,如Cf-Access-Jwt-Assertion) | 否 | - |
| SPA | 单页应用模式:如果为true,服务器将在404错误时返回索引文档内容(类似nginx的try_files $uri $uri/ /index.html;) | 否 | false |
| WHITELIST_IP_RANGES | 逗号分隔的IP和IP范围列表 | 否 | - |
| CONTENT_TYPE | 覆盖默认的Content-Type响应头 | 否 | - |
| CONTENT_DISPOSITION | 覆盖默认的Content-Disposition响应头 | 否 | - |
| USERNAME_HEADER | 用户名头名称(如Cloudflare的Cf-Access-Authenticated-User-Email) | 否 | - |
| SORT | 文件列表排序方式(datedesc:日期降序,dateasc:日期升序,fileasc:文件名升序,filedesc:文件名降序) | 否 | fileasc |
基本启动命令
bashdocker run -d -p 8080:80 -e AWS_REGION -e AWS_S3_BUCKET patrickdk/s3-proxy
带基本认证的启动
bashdocker run -d -p 8080:80 -e AWS_REGION -e AWS_S3_BUCKET -e BASIC_AUTH_USER -e BASIC_AUTH_PASS patrickdk/s3-proxy
带TLS加密的启动
bashdocker run -d -p 8080:80 -e AWS_REGION -e AWS_S3_BUCKET -e SSL_CERT_PATH -e SSL_KEY_PATH patrickdk/s3-proxy
带CORS配置的启动
bashdocker run -d -p 8080:80 -e CORS_ALLOW_ORIGIN -e CORS_ALLOW_METHODS -e CORS_ALLOW_HEADERS -e CORS_MAX_AGE patrickdk/s3-proxy
Docker Compose示例
yamlproxy: image: patrickdk/s3-proxy ports: - 8080:80 environment: - AWS_REGION=ap-northeast-1 - AWS_ACCESS_KEY_ID - AWS_SECRET_ACCESS_KEY - AWS_S3_BUCKET - BASIC_AUTH_USER=admin - BASIC_AUTH_PASS=password - ACCESS_LOG=true container_name: proxy
代码以https://github.com/pottava/aws-s3-proxy/blob/master/LICENSE%E5%8F%91%E5%B8%83%E3%80%82
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务