2017-08-27 231 views
0

我尝试在一个简单的容器中使用traefik的caddy服务器。 不幸的是,当我访问域时,我得到了一个Gateway Timeout错误。我不明白,如果错误是由于traefik或我的容器。traefik + caddy> Gateway Timeout

我的搬运工,撰写文件:

version: '2' 
# 
# [ server stack ] 
# 
services: 
    web: 
     image: abiosoft/caddy 
     container_name: caddy 
     restart: unless-stopped 
     networks: 
      - caddy_network 
     ports: 
      - 2015:2015 
     volumes: 
      # app 
      - ./localhost:/srv 
      # configs 
      - ./config/Caddyfile:/etc/Caddyfile 
     labels: 
      - "traefik.frontend.rule=Host:domain.com" 
      - "traefik.port=2015" 
      - "traefik.backend=domain.com" 
      - "traefik.frontend.entryPoints=http,https" 
      - "traefik.enable=true" 
# 
# [ networks definition ] 
# 
networks: 
    caddy_network: 
      driver: bridge 

我的球童文件:

0.0.0.0:2015 
browse 
gzip 
log stdout 
errors stderr 

有关信息,在咱们加密certificat是完全由traefik产生。

有什么想法?这可能是端口配置的问题吗?

[编辑] 的traefik配置:

################################################################ 
# Global configuration 
################################################################ 
defaultEntryPoints = ["http", "https"] 
logLevel = "DEBUG" 

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

[acme] 
email = "[email protected]" 
storageFile = "/etc/traefik/acme/acme.json" 
entryPoint = "https" 
OnHostRule = true 
onDemand = true 

[[acme.domains]] 
    main = "domain.com" 
    sans = ["docker.domain.com", "traefik.domain.com"] 

################################################################ 
# Web configuration backend 
################################################################ 

[web] 
address = ":8080" 

# MD5 
[web.auth.basic] 
users = ["admin:xxx"] 

################################################################ 
# Docker configuration backend 
################################################################ 

[docker] 
endpoint = "unix:///var/run/docker.sock" 
domain = "traefik.domain.com" 
watch = true 
# Tous les conteneurs seront utilisables par Traefik 
# Pour qu'il ne le soit pas, il est nécessaire d'ajouter le label "traefik.enable=false" 
# lors de la création du conteneur 
exposedbydefault = false 

预先感谢您的帮助。

jB表示

+0

你能在端口2015年将达到球童? – BMitch

+0

是的! 'xxx.xxx.xxx.yy:2015'>确定 'domain.com:2015'>确定 但'domain.com'> KO – jbo

+0

你能分享你的Traefik配置文件,包括一个DEBUG级别输出你的日志好吗? –

回答

0

工作液:

version: '2' 
# 
# [ server stack ] 
# 
services: 
    web: 
     image: abiosoft/caddy 
     container_name: caddy 
     restart: unless-stopped 
     networks: 
      - traefik_network 
     ports: 
      - 2015:2015 
     volumes: 
      # app 
      - ./localhost:/srv 
      # configs 
      - ./config/Caddyfile:/etc/Caddyfile 
     labels: 
      - "traefik.frontend.rule=Host:domain.com" 
      - "traefik.port=2015" 
      - "traefik.backend=domain.com" 
      - "traefik.frontend.entryPoints=http,https" 
      - "traefik.enable=true" 
      - "traefik.docker.network=traefik_network" 
# 
# [ networks definition ] 
# 
networks: 
    traefik_network: 
     external: true 
+0

所以你把球童放在traefik的同一个网络中,我有同样的问题,如果你想有两个网络,一个用于traefik和其他服务,--network traefik-net --network frontend – c4f4t0r