
如果你使用 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 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
处理HTTPS代理,通过自动生成的自签名证书实现SSL终止。
此HTTPS代理容器主要用于API(无头Web服务)场景。尽管许多编写此类服务的语言都有强大的HTTP库,但它们并非全功能的生产级HTTP服务器,无法开箱即用地满足所有标准需求。相比在自定义代码中构建这些功能,配置nginx并依赖其成熟度更为简便。
该镜像的创建源于发现https://github.com/fsouza/docker-ssl-proxy难以自定义,但本地开发中使用不受信任的SSL仍有价值。未来可能会采取更多措施以促进信任机制。
证书和CA位置
SSL证书使用自定义根CA生成,该CA位于/etc/nginx/ca目录。若将其提供给其他容器或本地系统,可作为信任应用证书的基础。
使用现有证书
可通过将卷挂载到/etc/nginx/certs并在其中放置以下文件来使用现有SSL证书:
若发现已存在key.pem文件,证书生成器将中止。
大小至少为1000字节的响应将以6级压缩率进行gzip压缩。
速率限制在基于API的服务中比其他Web应用更常见,它是一种请求节流机制,确保没有任何系统独占服务器资源。默认启用(每秒20个请求),可通过将RATE_LIMIT环境变量设置为"0"禁用。当达到限制时,nginx将返回429 Too Many Requests响应。
相关参考:
提供了用于实施IP白名单和黑名单规则的配置文件。这些规则最好在nginx层处理,因为应用程序处理效率通常不如nginx。可按照./root/etc/nginx/conf.d/10-ip-access.conf中的说明在项目中使用。
适用于需要HTTPS代理的API服务、微服务架构中的服务间通信、本地开发环境中的HTTPS测试等场景,尤其适合需要快速部署生产级HTTP功能(如SSL终止、压缩、速率限制)的无头Web服务。
bashdocker run --rm -it \ -e "UPSTREAM_DOMAIN=api.projectname.vm" \ -e "UPSTREAM_PORT=3773" \ -e "PROXY_DOMAIN=proxy.projectname.vm" \ -l "com.dnsdock.name=proxy" \ -l "com.dnsdock.image=projectname" \ docker.xuanyuan.run/outrigger/https-proxy:1.0
yaml# docker-compose run --rm proxy # 上游服务必须运行 # 访问地址: https://proxy.projectname.vm proxy: build: outrigger/https-proxy:1.0 container_name: projectname_http_proxy depends_on: - api labels: com.dnsdock.name: proxy com.dnsdock.image: projectname environment: UPSTREAM_DOMAIN: api.projectname.vm UPSTREAM_PORT: 3773 PROXY_DOMAIN: proxy.projectname.vm network_mode: bridge
Outrigger镜像使用环境变量和https://github.com/kelseyhightower/confd来模板化多个Docker环境配置。这些模板在启动时通过`docker run命令行或docker-compose.yml`清单文件传入的环境变量进行处理。
CLIENT_MAX_BODY_SIZE:[20M] 客户端上传的最大大小。GZIP_APPROVED_MIME_TYPES:[] 要包含在gzip压缩中的其他MIME类型。PROXY_DOMAIN:[www.example.com] SSL证书中的域名,通过X-Forwarded-Host HTTP头传递。RATE_LIMIT:[20] 每个客户端IP地址每秒的请求限制。RATE_LIMIT_BURST_QUEUE:[10] 执行限制前允许延迟的请求数。UPSTREAM_DOMAIN:[proxied.example.com] 反向代理的目标主机,通过Host HTTP头传递。UPSTREAM_PORT:[80] 被代理服务的目标端口。您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务