
如果你使用 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-es-proxy是一个轻量级Web服务器应用,作为HTTP客户端(浏览器、curl等)与Amazon Elasticsearch服务之间的代理。它能使用最新的AWS Signature Version 4对请求进行签名,再转发至Amazon Elasticsearch服务,并将响应返回给客户端。同时支持自动签名Kibana请求,简化对需要IAM认证的Elasticsearch服务的访问。
v0.9及更新版本(latest标签指向最新发布版):
shdocker run --rm -v ~/.aws:/root/.aws -p 9200:9200 abutaha/aws-es-proxy:v1.0 -endpoint https://dummy-host.ap-southeast-2.es.amazonaws.com -listen 0.0.0.0:9200
v0.8版本:
shdocker run --rm -it abutaha/aws-es-proxy ./aws-es-proxy -endpoint https://dummy-host.ap-southeast-2.es.amazonaws.com
自定义暴露端口:
通过PORT_NUM环境变量指定暴露端口:
shdocker run --rm -v ~/.aws:/root/.aws -e PORT_NUM=8080 -p 8080:8080 abutaha/aws-es-proxy:latest -endpoint https://your-es-endpoint.amazonaws.com -listen 0.0.0.0:8080
使用前需配置AWS IAM用户凭证,支持以下方式:
1. AWS凭证文件
创建~/.aws/credentials文件:
[default] aws_access_key_id = AKID1234567890 aws_secret_access_key = MY-SECRET-KEY
Docker运行时通过挂载目录将凭证文件传递给容器:-v ~/.aws:/root/.aws
2. 环境变量
设置以下环境变量:
shexport AWS_ACCESS_KEY_ID=AKID1234567890 export AWS_SECRET_ACCESS_KEY=MY-SECRET-KEY
在Docker中使用-e参数传递:
shdocker run --rm -e AWS_ACCESS_KEY_ID=AKID1234567890 -e AWS_SECRET_ACCESS_KEY=MY-SECRET-KEY -p 9200:9200 abutaha/aws-es-proxy:latest -endpoint https://your-es-endpoint.amazonaws.com
3. IAM角色
支持使用IAM角色,需修改Elasticsearch访问策略允许该角色访问。示例策略:
json{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::012345678910:role/ec2-aws-elasticsearch" }, "Action": "es:*", "Resource": "arn:aws:es:eu-west-1:012345678910:domain/test-es-domain/*" } ] }
通过-h查看所有可用参数:
sh./aws-es-proxy -h Usage of ./aws-es-proxy: -auth 启用HTTP Basic Auth认证 -debug 打印调试信息 -endpoint string Amazon ElasticSearch服务端点(例如:https://dummy-host.eu-west-1.es.amazonaws.com) -listen string 本地监听地址和端口(默认:"127.0.0.1:9200") -log-to-file 将用户请求和ElasticSearch响应记录到文件 -no-sign-reqs 禁用AWS Signature v4签名 -password string HTTP Basic Auth密码 -pretty 美化verbose输出和文件日志格式 -realm string 认证领域描述 -remote-terminate 允许HTTP远程终止代理 -timeout int 设置请求超时时间(秒),默认15 -username string HTTP Basic Auth用户名 -verbose 打印用户请求详情 -version 打印aws-es-proxy版本
ENDPOINT:指定Amazon Elasticsearch服务端点,替代-endpoint参数PORT_NUM:指定Docker容器暴露端口(仅Docker使用)通过命令行参数指定端点:
shdocker run --rm -v ~/.aws:/root/.aws -p 9200:9200 abutaha/aws-es-proxy:latest -endpoint https://test-es-somerandomvalue.eu-west-1.es.amazonaws.com
通过环境变量指定端点:
shdocker run --rm -v ~/.aws:/root/.aws -e ENDPOINT=https://test-es-somerandomvalue.eu-west-1.es.amazonaws.com -p 9200:9200 abutaha/aws-es-proxy:latest
shdocker run --rm -v ~/.aws:/root/.aws -p 8080:8080 abutaha/aws-es-proxy:latest -endpoint https://your-es-endpoint.amazonaws.com -listen 0.0.0.0:8080
shdocker run --rm -v ~/.aws:/root/.aws -p 9200:9200 abutaha/aws-es-proxy:latest -endpoint https://your-es-endpoint.amazonaws.com -verbose
shdocker run --rm -v ~/.aws:/root/.aws -p 9200:9200 abutaha/aws-es-proxy:latest -endpoint https://your-es-endpoint.amazonaws.com -auth -username admin -password secret
启动代理后,可通过以下方式访问Elasticsearch服务:
例如,使用curl查询集群健康状态:
shcurl http://localhost:9200/_cluster/health?pretty
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务