Liftwurf: Mit Docker auf https in 20 Sekunden
Kennen Sie das auch? Überall Flecken, Zertifikatsfehler und die Dreckspuren von unverschlüsselten Daten bei ihrem neu eingerichteten Webdienst?
Damit ist jetzt Schluss!

Der neue Traefik Reverse Proxy stellt sich vor Ihre Dockercontainer und entfernt auch die schmutzigsten Verbindungen. Er löst bei Let’s Encrypt ein Zertifikat und validiert es vollautomatisch. Nach nur 20 Sekunden sind Ihre Dienste sauber und geschützt.
Jetzt in der praktischen docker-compose Box: Aufreissen – Einfüllen – Starten – und alles ist grün. Fühlen Sie sich sicher wie ein König in Ihrem neuen Browserschloss.
streamingserver/docker-compose.yml:
version: '2' services: streamingserver: image: jasonrivers/nginx-rtmp restart: always labels: - traefik.enable=true - traefik.port=8080 - traefik.backend=streamingserver - traefik.frontend.rule=Host:streaming.cosin.ch - traefik.frontend.passHostHeader=true - traefik.docker.network=web ports: - 1935:1935 networks: - web volumes: - ./html:/opt/nginx/html:ro - ./run.sh:/run.sh:ro networks: web: external: name: web |
Die Einträge unter labels sagen Traefik: „Hallo, ich heisse streamingserver und bin unter Port 8080 im Netzwerk web erreichbar. Leite alles für den Host streaming.cosin.ch an mich weiter.
traefik/docker-compose.yml
version: '2' services: traefik: image: traefik:1.7-alpine restart: always command: - "--api" - "--docker" - "--docker.endpoint=unix:///var/run/docker.sock" - "--loglevel=info" - "--entrypoints=Name:http Address::80 Redirect.EntryPoint:https" - "--entrypoints=Name:https Address::443 TLS" - "--defaultentrypoints=http,https" - "--acme=true" - "--acme.storage=/acme.json" - "--acme.entrypoint=https" - "--acme.httpchallenge.entrypoint=http" - "--acme.onhostrule=true" - "--acme.ondemand=false" - "--acme.domains=streaming.cosin.ch" - "--acme.email=admin@streaming.cosin.ch" - "--docker.exposedbydefault=false" - "--docker.watch" ports: - "80:80" - "443:443" networks: - default - web volumes: - /var/run/docker.sock:/var/run/docker.sock - ./acme.json:/acme.json networks: web: external: true |
http soll nach https umgeleitet werden, mit dem docker.endpoint merkt Traefik, wenn ein neuer Container startet, wir möchten gerne eine Verifikation (challenge) via http und zwar bei einem Containerstart (onhostrule=true). domains und email an die eigene Umgebung anpassen. exposedbydefault aus, damit nur Container beachtet werden, welche labels: traefik.enable=true gesetzt haben.
touch acme.json nicht vergessen vor dem Start.



