
certbot/dns-ovh本镜像为EFF (Electronic Frontier Foundation) 官方维护的Certbot Docker镜像,集成了针对OVH DNS服务的专用插件。Certbot是一款符合ACME (Automated Certificate Management Environment) 协议的证书管理工具,可自动从Let's Encrypt等证书颁发机构 (CA) 获取、续期SSL/TLS证书。该镜像通过OVH DNS插件,支持利用OVH DNS服务完成ACME DNS-01挑战,实现域名所有权验证,适用于无法通过HTTP-01挑战验证域名的场景。
*.example.com)的申请和续期APPLICATION_KEY、APPLICATION_SECRET和CONSUMER_KEY)OVH DNS插件需通过环境变量注入API凭证,具体参数如下:
| 环境变量名 | 描述 | 示例值 |
|---|---|---|
OVH_ENDPOINT | OVH API端点(根据服务区域选择) | ovh-eu(欧洲区域) |
OVH_APPLICATION_KEY | OVH API应用密钥(从OVH开发者控制台获取) | xxxxxxxxxxxx |
OVH_APPLICATION_SECRET | OVH API应用密钥(从OVH开发者控制台获取) | xxxxxxxxxxxx |
OVH_CONSUMER_KEY | OVH API消费者密钥(通过API授权流程生成) | xxxxxxxxxxxx |
为确保证书持久化,需将容器内证书存储目录挂载到宿主机。默认路径:
/etc/letsencrypt(包含私钥、证书链、配置文件等)/var/lib/letsencrypt(ACME挑战临时文件)使用docker run命令执行证书申请,需挂载证书存储目录并注入OVH API凭证:
bashdocker run -it --rm \ -v /etc/letsencrypt:/etc/letsencrypt \ -v /var/lib/letsencrypt:/var/lib/letsencrypt \ -e "OVH_ENDPOINT=ovh-eu" \ -e "OVH_APPLICATION_KEY=your_application_key" \ -e "OVH_APPLICATION_SECRET=your_application_secret" \ -e "OVH_CONSUMER_KEY=your_consumer_key" \ certbot/dns-ovh:v1.7.0 \ certonly \ --dns-ovh \ --dns-ovh-propagation-seconds 60 \ # DNS记录传播等待时间(根据OVH DNS生效时间调整) -d example.com \ # 目标域名(支持多个-d参数) -d "*.example.com" \ # 通配符域名(需DNS-01挑战) --email *** \ # 通知***(证书续期/过期提醒) --agree-tos \ # 同意CA服务条款 --non-interactive # 非交互式模式(适合自动化脚本)
Certbot默认支持自动续期(证书过期前30天),可通过以下命令手动触发续期:
bashdocker run -it --rm \ -v /etc/letsencrypt:/etc/letsencrypt \ -v /var/lib/letsencrypt:/var/lib/letsencrypt \ -e "OVH_ENDPOINT=ovh-eu" \ -e "OVH_APPLICATION_KEY=your_application_key" \ -e "OVH_APPLICATION_SECRET=your_application_secret" \ -e "OVH_CONSUMER_KEY=your_consumer_key" \ certbot/dns-ovh:v1.7.0 \ renew \ --dns-ovh \ --dns-ovh-propagation-seconds 60 \ --non-interactive
创建docker-compose.yml文件,集成证书申请和续期流程:
yamlversion: '3.8' services: certbot-ovh: image: certbot/dns-ovh:v1.7.0 volumes: - ./letsencrypt:/etc/letsencrypt # 宿主机证书存储目录(需提前创建) - ./var-lib-letsencrypt:/var/lib/letsencrypt # 工作目录 environment: - OVH_ENDPOINT=ovh-eu - OVH_APPLICATION_KEY=your_application_key - OVH_APPLICATION_SECRET=your_application_secret - OVH_CONSUMER_KEY=your_consumer_key command: > certonly --dns-ovh --dns-ovh-propagation-seconds 60 -d example.com -d "*.example.com" --email *** --agree-tos --non-interactive
启动服务:
bashdocker-compose up -d
OVH API凭证安全:OVH_APPLICATION_SECRET和OVH_CONSUMER_KEY属于敏感信息,建议通过环境变量文件(如.env)管理,避免直接明文写入配置文件。
证书备份:/etc/letsencrypt目录包含所有证书和私钥,需定期备份,防止数据丢失。
DNS传播时间:--dns-ovh-propagation-seconds参数需根据OVH DNS记录生效时间调整(通常建议60-300秒),过短可能导致验证失败。
自动化续期:可通过crontab或Docker Compose调度工具(如Watchtower)配置定期续期任务,确保证书不过期。
版本兼容性:本镜像基于v1.7.0构建,如需使用更新特性,可访问Certbot官方仓库获取最新版本信息。






manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务