首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Traefik:无法获取域的ACME证书

Traefik:无法获取域的ACME证书
EN

Stack Overflow用户
提问于 2018-09-01 16:11:17
回答 1查看 20.5K关注 0票数 3

我正在使用traefik在我的NAS上提供一些服务,使用的是https和lets。现在我注意到我的nextcloud安装的tls证书昨天晚上过期了。Traefik的日志如下:

代码语言:javascript
复制
time="2018-08-31T22:43:08Z" level=error msg="Error getting ACME client: ACME client still not built, retrying in 6.83135832s"
time="2018-08-31T22:43:15Z" level=error msg="Error getting ACME client: ACME client still not built, retrying in 12.680203952s"
time="2018-08-31T22:43:28Z" level=error msg="Error getting ACME client: ACME client still not built"

我更新到了v1.7,但现在错误不同了:

代码语言:javascript
复制
time="2018-09-01T07:42:44Z" level=error msg="Unable to obtain ACME certificate for domains \"my.domain\" detected thanks to rule \"Host:cloud.dnas.one\" : cannot get ACME client ACME challenge not specified, please select TLS or HTTP or DNS Challenge"

此消息在每个域中发布,内部和外部都是如此。找不到有关此问题的详细信息。

Traefik配置:

代码语言:javascript
复制
defaultEntryPoints = ["http", "https"]
idleTimeout = 0
dialTimeout = 0
logLevel = "WARN"

[entryPoints]

[entryPoints.http]
address = ":80"

#entryPoint = "https"

[entryPoints.https]
address = ":443"
[entryPoints.https.tls]

# Lets Encrypt via ACME
[acme]
email = "my@email.de"
storage = "acme.json"
entryPoint = "https"
onDemand = false
OnHostRule = true
caServer = "https://acme-v02.api.letsencrypt.org/directory"

[docker]
endpoint = "unix:///var/run/docker.sock"
domain = "nas.one"
watch = true
EN

回答 1

Stack Overflow用户

发布于 2018-09-04 17:34:32

您的traefik.toml文件尚未指定用于从Let's Encrypt获取证书的质询方法。关于这一点,1.7版本的错误消息更加清晰。

如果要使用HTTP challenge,请添加以下行:

代码语言:javascript
复制
[acme.httpChallenge]
  entryPoint = "http"

如果要使用DNS challenge (如果要使用通配符证书,则为必填项),请添加以下行:

代码语言:javascript
复制
[acme.dnsChallenge]
  provider = "YOURPROVIDER"
  delayBeforeCheck = 0

有关其余配置,请查看文档。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52126245

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档