2017-08-29 10 views
0

Ich habe ein paar Stunden mit Traefik herumhantiert und finde es äußerst interessant. Ich bin jedoch auf ein Problem gestoßen, das ich alleine nicht lösen kann.Fehler beim Erstellen der TLS-Konfiguration (v1.3.7)

Es ist eine sehr einfache Einrichtung, nur versucht, die HTTP-zu-HTTPS-Umleitung und meine SSL-Zertifikate zu testen.

Ich habe folgende docker-compose.yml

version: '2' 

    services: 
     traefik: 
     image: traefik:v1.3.7-alpine 
     ports: 
      - "80:80" 
      - "443:443" 
      - "8080:8080" 
     volumes: 
      - /var/run/docker.sock:/var/run/docker.sock:z 
      - /opt/dockerapp/rocketchat/traefik/traefik.toml:/etc/traefik/traefik.toml:ro,z 
      - /opt/dockerapp/rocketchat/traefik/ssl:/etc/traefik/ssl/:ro,z 
     command: --logLevel=DEBUG 

Mein traefik.toml ist

defaultEntryPoints = ["http", "https"] 
[entryPoints] 
    [entryPoints.http] 
    address = ":80" 
    [entryPoints.http.redirect] 
    entryPoint = "https" 
    [entryPoints.https] 
    address = ":443" 
    [entryPoints.https.tls] 
     [[entryPoints.https.tls.certificates]] 
     CertFile = "ssl/mycert.pem" 
     KeyFile = "ssl/mycert.key" 
[docker] 
domain = "docker.local" 
watch = true 

[web] 
address = ":8080" 

Allerdings, wenn ich versuche, es zu laufen:

docker-compose up 
Starting rocketchat_traefik_1 
Attaching to rocketchat_traefik_1 
traefik_1 | time="2017-08-29T13:45:55Z" level=info msg="Traefik version v1.3.7 built on 2017-08-25_08:56:06PM" 
traefik_1 | time="2017-08-29T13:45:55Z" level=info msg="Using TOML configuration file /etc/traefik/traefik.toml" 
traefik_1 | time="2017-08-29T13:45:55Z" level=debug msg="Global configuration loaded {"GraceTimeOut":10000000000,"Debug":false,"CheckNewVersion":true,"AccessLogsFile":"","TraefikLogsFile":"","LogLevel":"DEBUG","EntryPoints":{"http":{"Network":"","Address":":80","TLS":null,"Redirect":{"EntryPoint":"https","Regex":"","Replacement":""},"Auth":null,"Compress":false},"https":{"Network":"","Address":":443","TLS":{"MinVersion":"","CipherSuites":null,"Certificates":[{"CertFile":"ssl/mycert.pem","KeyFile":"ssl/mycert.key"}],"ClientCAFiles":null},"Redirect":null,"Auth":null,"Compress":false}},"Cluster":null,"Constraints":[],"ACME":null,"DefaultEntryPoints":["http","https"],"ProvidersThrottleDuration":2000000000,"MaxIdleConnsPerHost":200,"IdleTimeout":180000000000,"InsecureSkipVerify":false,"Retry":null,"HealthCheck":{"Interval":30000000000},"Docker":{"Watch":true,"Filename":"","Constraints":null,"Endpoint":"unix:///var/run/docker.sock","Domain":"docker.local","TLS":null,"ExposedByDefault":true,"UseBindPortIP":false,"SwarmMode":false},"File":null,"Web":{"Address":":8080","CertFile":"","KeyFile":"","ReadOnly":false,"Statistics":null,"Metrics":null,"Path":"","Auth":null},"Marathon":null,"Consul":null,"ConsulCatalog":null,"Etcd":null,"Zookeeper":null,"Boltdb":null,"Kubernetes":null,"Mesos":null,"Eureka":null,"ECS":null,"Rancher":null,"DynamoDB":null}" 
traefik_1 | time="2017-08-29T13:45:55Z" level=info msg="Preparing server http &{Network: Address::80 TLS:<nil> Redirect:0xc4202f4ea0 Auth:<nil> Compress:false}" 
traefik_1 | time="2017-08-29T13:45:55Z" level=info msg="Preparing server https &{Network: Address::443 TLS:0xc42032c000 Redirect:<nil> Auth:<nil> Compress:false}" 
traefik_1 | time="2017-08-29T13:45:55Z" level=error msg="Error creating TLS config: tls: failed to find any PEM data in certificate input" 
traefik_1 | time="2017-08-29T13:45:55Z" level=fatal msg="Error preparing server: tls: failed to find any PEM data in certificate input" 
rocketchat_traefik_1 exited with code 1 

, die mit ihm etwas falsch zu zeigen scheinen mein Zertifikat. Ich weiß sicher, dass das Zertifikat in Ordnung ist, es ist ein Wildcard-Zertifikat, das wir erfolgreich mit Apache und NGINX verwenden.

Ich habe bereits this possible answer überprüft, aber das Zertifikat und der private Schlüssel stimmen mit diesen Parametern überein.

Kann jemand Licht abwerfen?

Danke!

+1

versuchen einen absoluten Pfad für CertFile und KeyFile – whites11

+0

Einstellung Und das löst mein Problem! Wenn Sie es als Antwort hinzufügen, nehme ich es gerne an :) – davidfm

+0

großartig! froh, dass ich helfen konnte – whites11

Antwort

2

Sieht aus wie Traefik findet Ihre Zertifikate nicht. Versuchen Sie einen absoluten Pfad für CertFile und KeyFile wie setzen:

defaultEntryPoints = ["http", "https"] 
[entryPoints] 
    [entryPoints.http] 
    address = ":80" 
    [entryPoints.http.redirect] 
    entryPoint = "https" 
    [entryPoints.https] 
    address = ":443" 
    [entryPoints.https.tls] 
     [[entryPoints.https.tls.certificates]] 
     CertFile = "/etc/traefik/ssl/mycert.pem" 
     KeyFile = "/etc/traefik/ssl/mycert.key" 
[docker] 
domain = "docker.local" 
watch = true 

[web] 
address = ":8080" 
+0

Problem gelöst. Vielen Dank! :) – davidfm

Verwandte Themen