
jrcs/letsencrypt-nginx-proxy-companionjrcs/letsencrypt-nginx-proxy-companion 是一个旧版(legacy)Docker镜像仓库,该项目已迁移至新仓库 nginxproxy/acme-companion。旧仓库镜像已停止更新维护,功能及安全性无法得到保障。建议所有用户立即切换至新仓库镜像以获取最新特性、文档及技术支持。
新镜像(nginxproxy/acme-companion)主要用途:作为 nginx-proxy 容器的配套工具,实现 Let's Encrypt SSL/TLS 证书的自动申请、续期与配置,简化 Docker 环境下多容器应用的 HTTPS 部署流程。
nginx-proxy 容器的虚拟主机配置,动态生成 SSL 配置并更新 nginx。nginxproxy/nginx-proxy 容器使用(核心反向代理组件)。旧镜像 jrcs/letsencrypt-nginx-proxy-companion 用户需执行以下步骤迁移至新镜像:
docker pull nginxproxy/acme-companion;需配合 nginx-proxy 容器一起运行:
bash# 1. 启动 nginx-proxy(反向代理核心) docker run -d \ --name nginx-proxy \ -p 80:80 \ -p 443:443 \ -v /var/run/docker.sock:/tmp/docker.sock:ro \ -v certs:/etc/nginx/certs \ -v vhost:/etc/nginx/vhost.d \ -v html:/usr/share/nginx/html \ nginxproxy/nginx-proxy # 2. 启动 acme-companion(证书管理) docker run -d \ --name acme-companion \ --volumes-from nginx-proxy \ -v /var/run/docker.sock:/var/run/docker.sock:ro \ -v acme:/etc/acme.sh \ -e "DEFAULT_EMAIL=***" \ # 全局默认***(用于证书通知) nginxproxy/acme-companion # 3. 启动业务容器(示例:nginx 测试服务) docker run -d \ --name web-app \ -e "VIRTUAL_HOST=example.com,[***]" \ # 虚拟主机域名 -e "LETSENCRYPT_HOST=example.com,[***]" \ # 需要申请证书的域名 -e "LETSENCRYPT_EMAIL=***" \ # 证书相关通知***(优先级高于全局默认) nginx
创建 docker-compose.yml 文件:
yamlversion: '3' services: nginx-proxy: image: nginxproxy/nginx-proxy ports: - "80:80" - "443:443" volumes: - /var/run/docker.sock:/tmp/docker.sock:ro - certs:/etc/nginx/certs - vhost:/etc/nginx/vhost.d - html:/usr/share/nginx/html restart: always acme-companion: image: nginxproxy/acme-companion volumes_from: - nginx-proxy volumes: - /var/run/docker.sock:/var/run/docker.sock:ro - acme:/etc/acme.sh environment: - DEFAULT_EMAIL=*** # 全局默认证书联系人*** restart: always web-app: # 示例业务容器 image: nginx environment: - VIRTUAL_HOST=example.com,[***] # 绑定域名 - LETSENCRYPT_HOST=example.com,[***] # 申请SSL证书的域名 - LETSENCRYPT_EMAIL=*** # 可选,覆盖全局*** restart: always volumes: certs: vhost: html: acme:
启动服务:docker-compose up -d
| 变量名 | 说明 | 默认值 |
|---|---|---|
DEFAULT_EMAIL | 全局默认证书联系人***(用于证书续期通知、失效提醒) | 无(建议必填) |
ACME_CA_URI | Let's Encrypt CA 地址(测试环境可设为 [***]) | [***] |
DEBUG | 启用调试模式(输出详细日志) | false |
NGINX_PROXY_CONTAINER | 指定 nginx-proxy 容器名称(当存在多个 nginx-proxy 时使用) | nginx-proxy |
| 变量名 | 说明 |
|---|---|
VIRTUAL_HOST | 绑定的虚拟主机域名(与 nginx-proxy 配合,多个域名用逗号分隔) |
LETSENCRYPT_HOST | 需要申请 SSL 证书的域名(需与 VIRTUAL_HOST 一致或为其子集) |
LETSENCRYPT_EMAIL | 可选,覆盖全局 DEFAULT_EMAIL,作为当前域名证书的联系人*** |
LETSENCRYPT_TEST | 申请测试证书(避免 Let's Encrypt 生产环境速率限制),设为 true |
jrcs/letsencrypt-nginx-proxy-companion 已不再更新,可能存在安全漏洞及功能缺陷,必须迁移至 nginxproxy/acme-companion。manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务