首页 文章

Traefik ACME DNS挑战不与docker合作

提问于
浏览
0

我正在尝试将Traefik配置为在DigitalOcean服务器上运行的docker容器的代理 .

这是我的Traefik容器配置:

version: '2'

services:
  traefik:
    image: traefik
    restart: always
    command: --docker
    ports:
      - 80:80
      - 443:443
    networks:
      - proxy
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
      - $PWD/traefik.toml:/traefik.toml
      - $PWD/acme.json:/acme.json
    container_name: traefik
    environment:
      DO_AUTH_TOKEN: abcd
    labels:
      - traefik.frontend.rule=Host:monitor.example.com
      - traefik.port=8080

networks:
  proxy:
    external: true

和traefik.toml,

defaultEntryPoints = ["http", "https"]
[web]
address = ":8080"
  [web.auth.basic]
  users = ["admin:secretpassword"]
[entryPoints]
  [entryPoints.http]
  address = ":80"
    [entryPoints.http.redirect]
      entryPoint = "https"
  [entryPoints.https]
  address = ":443"
    [entryPoints.https.tls]
[acme]
email = "lakshmi@example.com"
storage = "acme.json"
entryPoint = "https"
onHostRule = true
onDemand = false
  [acme.dnsChallenge]
    provider = "digitalocean"
    delayBeforeCheck = 0

当我尝试访问https://monitor.example.com时,出现此错误:

traefik    | time="2018-05-29T15:35:32Z" level=error msg="Unable to obtain ACME certificate for domains \"monitor.example.com\" detected thanks to rule \"Host:monitor.example.com\" : cannot obtain certificates: acme: Error -> One or more domains had a problem:\n[monitor.example.com] Error presenting token: HTTP 403: forbidden: You do not have access for the attempted action.\n"

我已经给了一个有效的DO令牌并将monitor.example.com指向运行Traefik的VM . 我错过了任何一步吗?

1 回答

  • 1

    我得到了403,因为Traefik试图使用 read-only 令牌在我的DigitalOcean域中为ACME DNS挑战编写TXT条目 . 我将其更改为 read-write 令牌,它运行正常 .

相关问题