
如果你使用 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 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
本镜像包含nginx及相关代码,可自动获取和续期来自Let's Encrypt的免费域名验证(DV)SSL证书。无需复杂配置,30秒内即可完成SSL设置,默认配置可在SSL Labs获得A级评分,并启用HTTP/2以提升性能。
| 变量名 | 说明 | 必填 |
|---|---|---|
UPSTREAM | 上游服务器的IP地址或主机名(可选端口),代理请求将转发至此 | 是 |
SERVERNAME | 监听的主机名,系统将自动为此主机名获取SSL证书 | 是 |
EXTRANAMES | 可选,额外域名列表(逗号分隔),作为证书的主题备用名称 | 否 |
HSTS_HEADER | 自定义Strict-Transport-Security头,设为skip则不使用 | 否 |
DO_AUTH | 设为required启用简单认证系统 | 否 |
WHITELIST_IPS | 空格分隔的IP或CIDR白名单范围(启用认证时有效) | 否 |
COOKIE_VALUE | 认证Cookie值(启用认证时,未提供则随机生成) | 否 |
PROXY_PASSWORD | HTTP基本认证密码(用户名为admin,未提供则随机生成) | 否 |
REAL_IP_RECURSIVE | 设为on解析上游X-Forwarded-For头 | 否 |
SET_REAL_IP_FROM | 信任X-Forwarded-For头的IP/CIDR范围 | 否 |
SET_REAL_IP_FROM_CLOUDFLARE | 设为yes添加Cloudflare反向代理IP到信任列表 | 否 |
NGINX_CLIENT_MAX_BODY_SIZE | 设置nginx的client_max_body_size指令(如100m) | 否 |
NGINX_CLIENT_BODY_BUFFER_SIZE | 设置nginx的client_body_buffer_size指令 | 否 |
SECURITY_HEADERS | 设为skip禁用默认安全头 | 否 |
默认配置包含Strict-Transport-Security头,有效期为1年。浏览器会缓存此头并仅通过SSL连接访问。可通过HSTS_HEADER变量自定义:
skip:不使用HSTS头max-age=31536000; includeSubDomains; preload(用于HSTS预加载准备)创建docker-compose.yml文件:
yamlnginx-ssl-proxy: image: danieldent/nginx-ssl-proxy restart: always environment: UPSTREAM: 127.0.0.1:8080 # 上游服务器地址和端口 SERVERNAME: test.example.com # 主域名 EXTRANAMES: www.test.example.com,test2.example.com # 额外域名 ports: - "80:80" # HTTP端口(用于Let's Encrypt验证) - "443:443" # HTTPS端口 volumes: - "/etc/letsencrypt" # 存储证书数据的卷
启动命令:docker-compose up
当DO_AUTH=required时,代理实现以下认证机制(满足任一条件即可访问):
WHITELIST_IPS中的IP或CIDR范围magic_ssl_proxy_auth且值为COOKIE_VALUE的Cookieadmin,密码为PROXY_PASSWORD)注意:
COOKIE_VALUE和PROXY_PASSWORD时,系统会随机生成并输出到控制台PROXY_PASSWORD可在容器内/tmp/proxy_password文件中查看COOKIE_VALUE可在容器内/etc/nginx/auth_part1.conf文件中查看COOKIE_VALUE长度有限制,过长会导致启动失败,需缩短或调整Nginx配置配置IP认证时,若存在上游反向代理或Docker网络配置,可能导致客户端IP显示不正确。直接暴露镜像到互联网(如示例中的ports配置)可减少此类问题。
REAL_IP_RECURSIVE=on:启用解析上游X-Forwarded-For头SET_REAL_IP_FROM:指定信任X-Forwarded-For头的IP/CIDR范围SET_REAL_IP_FROM_CLOUDFLARE=yes:自动添加Cloudflare反向代理IP到信任列表NGINX_CLIENT_MAX_BODY_SIZE:设置请求体最大大小(如100m允许100MB)NGINX_CLIENT_BODY_BUFFER_SIZE:设置请求体缓冲区大小,超过则使用临时文件/etc/nginx/main_location.conf文件可添加任意Nginx配置指令到主location块。可通过下游镜像或Docker卷覆盖此文件:
dockerfileFROM danieldent/nginx-ssl-proxy COPY custom_main_location.conf /etc/nginx/main_location.conf
/etc/letsencrypt卷用于存储证书数据,其中account_key.json是Let's Encrypt账户密钥,可用于证书吊销。
通过修改https://github.com/DanielDent/docker-nginx-ssl-proxy/blob/master/proxy.conf%E5%B9%B6%E6%9B%BF%E6%8D%A2%60/etc/nginx/conf.d/default.conf%60%E6%9D%A5%E8%87%AA%E5%AE%9A%E4%B9%89%E9%85%8D%E7%BD%AE%EF%BC%9A
dockerfileFROM danieldent/nginx-ssl-proxy COPY proxy.conf /etc/nginx/conf.d/default.conf
默认使用Mozilla推荐的SSL密码套件,不支持非常旧的浏览器(如IE6)。
默认启用安全HTTP头(参考OWASP安全头列表)。设置SECURITY_HEADERS=skip可禁用,避免与上游服务器的头冲突。
遇到问题请查看https://github.com/DanielDent/docker-nginx-ssl-proxy/issues%EF%BC%8C%E6%AC%A2%E8%BF%8E%E6%8F%90%E4%BA%A4PR%E6%88%96%E5%88%9B%E5%BB%BA%E6%96%B0issue%E6%8F%90%E5%87%BA%E6%94%B9%E8%BF%9B%E5%BB%BA%E8%AE%AE%E3%80%82
Copyright 2015-2018 Daniel Dent。
基于Apache License 2.0许可(详见许可证文本)。镜像中包含的第三方内容单独许可。
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。




来自真实用户的反馈,见证轩辕镜像的优质服务