2017-08-27 10 views
0

Ich versuche Caddy-Server mit Traefik in einem einfachen Container zu verwenden. Leider bekomme ich einen Gateway Timeout Fehler, wenn ich die Domain besuche. Ich kann nicht verstehen, ob der Fehler auf Traefik oder meinen Container zurückzuführen ist.Traefik + Caddy> Gateway Timeout

Meine Docker-Compose-Datei:

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 

Mein Caddie-Datei:

0.0.0.0:2015 
browse 
gzip 
log stdout 
errors stderr 

Informationen, die encrypt certificat Lassen Sie uns perfekt durch traefik erzeugen.

Irgendeine Idee? Könnte es ein Problem mit der Port-Konfiguration sein?

[Bearbeiten] Die traefik config:

################################################################ 
# 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 

Danke im Voraus für die Hilfe.

jB

+0

Können Sie Caddy auf Port 2015 zu erreichen? – BMitch

+0

ja! 'xxx.xxx.xxx.yy: 2015'> ok ' domain.com: 2015'> ok aber 'domain.com'> ko – jbo

+0

Könnten Sie Ihre Traefik Konfigurationsdatei und verfügen über einen Debug-Level-Ausgang teilen von deinen Protokollen bitte? –

Antwort

0

Arbeitslösung:

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

so dass Sie Caddy in das gleiche Netzwerk von Traefik setzen, hatte ich das gleiche Problem, wenn Sie zwei Netzwerke haben wollen, eine für Traefik und andere für den Dienst, --network Traefik-net - Netzwerk Frontend – c4f4t0r