我正在尝试配置traefik + docker,但是浏览器会永远加载https url,你知道为什么吗?

时间:2018-10-11 08:30:52

标签: docker traefik

我正在尝试配置traefik + docker,但遇到麻烦:浏览器将永远加载URL。 这是我的实际配置:

traefik.toml

debug = false

logLevel = "ERROR"
defaultEntryPoints = ["https","http"]

[entryPoints]

[entryPoints.http]
address = ":80"
[entryPoints.http.redirect]
entryPoint = "https"

# https is the default
[entryPoints.https]
address = ":443"
[entryPoints.https.tls]

[docker]
endpoint = "unix:///var/run/docker.sock"
domain = "cloud.castignoli.it"
watch = true
exposedByDefault = false

[acme]
email = "marco.castignoli@gmail.com"
storage = "acme.json"
entryPoint = "https"
onHostRule = true
[acme.httpChallenge]
entryPoint = "http"

然后我有 acme.json ,实际上是treafik用正确的值填充的。

我正在尝试为容器 foo 激活https,域为hello.cloud.castignoli.it foo 仅具有此标签

traefik.frontend.rule=Host:hello.cloud.castignoli.it

这些是traefik的日志

time="2018-10-11T08:04:50Z" level=error msg="Unable to obtain ACME certificate for domains \"reverse-proxy.traefik.\" detected thanks to rule \"Host:reverse-proxy.traefik.\" : unable to generate a certificate for the domains [reverse-proxy.traefik.]: acme: Error 400 - urn:ietf:params:acme:error:malformed - Error creating new order :: DNS name ends in a period"

这是traefik仪表板 traefik's dashboard

1 个答案:

答案 0 :(得分:0)

问题出在试图为不存在的域生成证书的traefik的域中。

docker-compose.yml中,将labels设置为您的域,或者不要使用--api。例如:

  image: traefik                                                                                                                                                                                                                                                                  
  command: --api --docker                                                                                                                                                                                                                                                         
  ports:                                                                                                                                                                                                                                                                            
    - "80:80"                                                                                                                                                                                                                                                                       
    - "443:443"                                                                                                                                                                                                                                                                     
    - "8080:8080"                                                                                                                                                                                                                                                                 
  networks:                                                                                                                                                                                                                                                                         
    - web                                                                                                                                                                                                                                                                         
  volumes:                                                                                                                                                                                                                                                                          
    - /var/run/docker.sock:/var/run/docker.sock                                                                                                                                                                                                                                     
    - /opt/traefik/traefik.toml:/traefik.toml                                                                                                                                                                                                                                       
    - /opt/traefik/acme.json:/acme.json                                                                                                                                                                                                                                           
  labels:                                                                                                                                       
    - "traefik.docker.network=web"                                                                                                                                      
    - "traefik.port=8081"                                                                    
    - "traefik.enable=true"                                                                                                                                       
    - "traefik.frontend.rule=Host:your-awesome-host.com"