Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Traefik ACME DNS挑战无法与docker一起使用_Docker_Lets Encrypt_Traefik - Fatal编程技术网

Traefik ACME DNS挑战无法与docker一起使用

Traefik ACME DNS挑战无法与docker一起使用,docker,lets-encrypt,traefik,Docker,Lets Encrypt,Traefik,我正在尝试将Traefik配置为DigitalOcean服务器上运行的docker容器的代理 以下是我的Traefik容器配置: version: '2' services: traefik: image: traefik restart: always command: --docker ports: - 80:80 - 443:443 networks: - proxy volumes: -

我正在尝试将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
当我尝试访问时,出现以下错误:

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。我是否遗漏了任何步骤?

我得到的是403,因为Traefik试图使用
只读标记在我的DigitalOcean域中为ACME DNS挑战编写一个TXT条目。我把它改成了一个
读写
令牌,效果很好。

Hmm我也遇到了同样的问题,我没有看到一个改成读写的方法。我看不出有任何设置。