
Kong Certbot Agent是一个基于cron的Certbot代理,专为与Kong集成设计,用于自动获取Let's Encrypt SSL证书并将其配置到Kong API网关。该工具通过定时任务(每24小时)自动检查证书状态,更新需要续期的证书,简化Kong的SSL证书管理流程。
适用于需要为Kong API网关管理SSL证书的场景,特别是:
必要环境变量
KONG_ENDPOINT:Kong Admin API的HTTP端点(不含路径),例如 http://kong:8001EMAIL:与Let's Encrypt证书关联的***地址(用于证书通知和续期提醒)DOMAINS:逗号分隔的域名列表,用于申请证书,例如 example.com,www.example.com卷挂载要求
/etc/letsencrypt 目录(存储Let's Encrypt证书和续期数据)/var/log/kong-certbot-agent 目录(存储日志输出)部署示例
bashdocker run -d \ -e KONG_ENDPOINT="http://kong:8001" \ -e EMAIL="admin@example.com" \ -e DOMAINS="example.com,www.example.com" \ -v /path/to/letsencrypt:/etc/letsencrypt \ -v /path/to/logs:/var/log/kong-certbot-agent \ phpdockerio/kong-certbot-agent
容器启动后将自动运行更新脚本,每24小时检查并更新需要续期的证书。
为确保Let's Encrypt域名验证正常工作,需在Kong中创建特定API路由,指向该容器的验证路径。
Kong API配置示例
在Kong中创建以下API配置(通过Kong Admin API或配置文件):
json{ "methods": ["GET", "OPTIONS"], "uris": ["/.well-known/acme-challenge"], "upstream_url": "http://kong-certbot-agent/.well-known/acme-challenge/", "strip_uri": true, "name": "certbot", "http_if_terminated": true, "retries": 5, "upstream_connect_timeout": 60000, "upstream_send_timeout": 60000, "upstream_read_timeout": 60000 }
注意:
http://kong-certbot-agent必须正确指向Kong Certbot Agent容器的网络地址。
Let's Encrypt验证过程中,会通过HTTP请求域名的 /.well-known/acme-challenge 路径。上述Kong配置确保该请求能正确路由到Kong Certbot Agent容器,完成域名所有权验证。
提供Kubernetes环境下的部署示例,包括Service、Deployment和CronJob配置。
可手动运行命令行工具,自定义证书更新调度逻辑,支持以下操作:
bashdocker run -it --rm \ -v /path/to/letsencrypt:/etc/letsencrypt \ phpdockerio/kong-certbot-agent \ ./certbot-agent certs:update \ http://kong-admin:8001 \ admin@example.com \ example.com,www.example.com,api.example.com
bashdocker run -it --rm \ -v /path/to/letsencrypt:/etc/letsencrypt \ phpdockerio/kong-certbot-agent \ ./certbot-agent certs:update -t \ http://kong-admin:8001 \ admin@example.com \ example.com,www.example.com,api.example.com
说明:
-t参数指定使用Let's Encrypt测试环境(Staging Environment),避免正式环境因频繁请求触发速率限制。
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。

探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
无需登录使用专属域名
Kubernetes 集群配置 Containerd
K3s 轻量级 Kubernetes 镜像加速
VS Code Dev Containers 配置
Podman 容器引擎配置
HPC 科学计算容器配置
ghcr、Quay、nvcr 等镜像仓库
Harbor Proxy Repository 对接专属域名
Portainer Registries 加速拉取
Nexus3 Docker Proxy 内网缓存
需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单
docker search 限制
站内搜不到镜像
离线 save/load
插件要用 plugin install
WSL 拉取慢
安全与 digest
新手拉取配置
镜像合规机制
不支持 push
manifest unknown
no matching manifest(架构)
invalid tar header(解压)
TLS 证书失败
DNS 超时
域名连通性排查
410 Gone 排查
402 与流量用尽
401 认证失败
429 限流
D-Bus 凭证提示
413 与超大单层
来自真实用户的反馈,见证轩辕镜像的优质服务