Wenn mehrere Dienste auf demselben Server über Port 80 (HTTP) oder 443 (HTTPS) kommunizieren, kann es zu Port-Konflikten kommen, da normalerweise nur ein Dienst einen bestimmten Port zur gleichen Zeit belegen kann. Traefik löst dieses Problem als Reverse-Proxy und Load-Balancer.
Traefik leitet alle eingehenden Anfragen auf Port 80 oder 443 an die richtigen Dienste weiter. Dies geschieht anhand von konfigurierten Regeln, die das Routing bestimmen. So wird sichergestellt, dass jeder Dienst erreichbar ist, ohne dass Port-Konflikte entstehen. Nutze Traefik für eine effiziente und reibungslose Kommunikation der Webdienste.
Update zur Traefik 3.7 Anleitung mit CrowdSec 🚀
Da mich in letzter Zeit immer mehr Fragen erreichen und auch @Christian immer mal wieder fragt, wann die Anleitung auf Traefik 3.7 aktualisiert wird, möchte ich euch ein kurzes Update geben.
Die neue Anleitung ist bereits geschrieben und befindet sich aktuell in der Testphase. 🔧
Allerdings ist sie im Vergleich zur bisherigen Version noch einmal deutlich umfangreicher geworden. Neben der Aktualisierung auf Traefik 3.7 habe ich weitere Anpassungen und Verbesserungen vorgenommen. Das macht die abschließenden Tests etwas aufwendiger, da ich sicherstellen möchte, dass am Ende alles sauber funktioniert und die Anleitung auch für Neueinsteiger nachvollziehbar bleibt.
Für alle, die bereits die bestehende Anleitung mit Traefik 3.6 nutzen: Grundsätzlich könnt ihr die Traefik-Version bereits über die entsprechende Variable in der .env auf 3.7 umstellen. Beachtet dabei bitte die Änderungen und Warnmeldungen der neuen Version.
Ich möchte die aktualisierte Anleitung erst veröffentlichen, wenn ich die gesamte Konfiguration ausreichend getestet habe. Einen konkreten Veröffentlichungstermin kann ich deshalb noch nicht nennen.
Vielen Dank für eure Geduld, euer Feedback und die zahlreichen Rückmeldungen! ❤️
Die Aktualisierung kommt auf jeden Fall! 🚀

Bin die Anleitung grad durchgegangen, funktioniert auch alles, lediglich den “CrowdSec Firewall Bouncers” Kapittel 10.3 bekomm ich nicht zum laufen.
Der Bouncer lässt sich aber nicht starten:
Ich bekomm immer den Fehler:
Logischerweise wird der Bouncer nicht gelisted
Bin mittlerweile echt ratlos.
Hoffe einer hat eine Idee und kann mir weiterhelfen 🙂
Wie seit ihr mit den neuen Warnmeldungen in Traefik-Version 3.7.xx umgegangen?
Was habt ihr geändert, damit diese Warnmeldungen nicht mehr erscheinen?
{"level":"warn"..."message":"Traefik can reject some encoded characters in the request path.When your backend is not fully compliant with [RFC 3986](https://datatracker.ietf.org/doc/html/rfc3986),it is recommended to set these options tofalse... {"level":"warn"..."entryPointName":"ping","time":"2026-10-01T04:10:24+02:00","message":"aliasHeadersStrategy is not configured.. {"level":"warn"..."entryPointName":"web","time":"2026-10-01T04:10:24+02:00","message":"aliasHeadersStrategy is not configured... {"level":"warn"..."entryPointName":"websecure","time":"2026-10-01T04:10:24+02:00","message":"aliasHeadersStrategy is not configured... {"level":"warn"..."entryPointName":"traefik","time":"2026-10-01T04:10:24+02:00","message":"aliasHeadersStrategy is not configured...Noch jemand Stress beim Start nach dem letzten Update vom socket-proxy? (Traefik auf 3.7)
Ich kann die oberfläche von traefik aufrufen, bekomme aber folgende fehlermeldung in der log-datei:
{“level”:”error”,”error”:”unable to get ACME account: permissions 644 for /etc/traefik/acme_letsencrypt.json are too open, please use 600″,”resolver”:”http_resolver”,”time”:”2025-12-08T00:55:45+01:00″,”message”:”The ACME resolve is skipped from the resolvers list”}
Wo müßte ich für die fehlersuche anfangen nachzuforschen? Die berechtigungen für die inkriminierten dateien sind
-rw——
.
Danke.
PS: ich muß mich korrigieren:Die datei
/etc/traefik/acme_letsencrypt.json
gibt es gar nicht. Die o.a. rechte betreffen
/opt/containers/traefik-crowdsec-stack/data/traefik/certs/
Hab jetzt schon ne weile gesucht aber nichts gefunden:
Irgendwer eine idee?
Hallo zusammen,
versuche gerade traefik ans laufen zu bekommen, muss aber zugestehen, dass ich noch viel lernen muss…
Es wäre schön, wenn mir jemand mit der folgenden Fehlermeldung helfen könnte:
“…compose/traefik.yml: yaml: while parsing a block mapping at line 2, column 5: line 27, column 6: did not find expected key”
Der Fehler besteht im Rahmen des Befehls zur Konfiguration von crowdsec (7.5.1), bei dem nur der crowdsec-container gestartet wird.
Dies ist meine traefik.yml:
services: traefik: container_name: ${SERVICES_TRAEFIK_CONTAINER_NAME:-traefik} depends_on: crowdsec: condition: service_healthy socket-proxy: condition: service_healthy env_file: ${ABSOLUTE_PATH}/data/traefik/.env hostname: ${SERVICES_TRAEFIK_HOSTNAME:-traefik} healthcheck: test: ["CMD", "traefik", "healthcheck", "--ping"] timeout: 1s interval: 10s retries: 3 start_period: 10s image: ${SERVICES_TRAEFIK_IMAGE:-traefik}:${SERVICES_TRAEFIK_IMAGE_VERSION:-3.7.5} networks: crowdsec: ipv4_address: ${SERVICES_TRAEFIK_NETWORKS_CROWDSEC_IPV4:-172.31.127.253} # ipv6_address: ${SERVICES_TRAEFIK_NETWORKS_CROWDSEC_IPV6:-fd00:1:be:a:7001:0:3e:6ffe} proxy: ipv4_address: ${SERVICES_TRAEFIK_NETWORKS_PROXY_IPV4:-172.31.191.254} # ipv6_address: ${SERVICES_TRAEFIK_NETWORKS_PROXY_IPV6:-fd00:1:be:a:7001:0:3e:7fff} socket_proxy: ipv4_address: ${SERVICES_TRAEFIK_NETWORKS_SOCKET_PROXY_IPV4:-172.31.255.253} # ipv6_address: ${SERVICES_TRAEFIK_NETWORKS_SOCKET_PROXY_IPV6:-fd00:1:be:a:7001:0:3e:8ffe} ports: - mode: host target: 80 published: "80" protocol: tcp - mode: host target: 443 published: "443" protocol: tcp - mode: host target: 443 published: "443" protocol: udp restart: unless-stopped security_opt: - no-new-privileges:true volumes: - /etc/localtime:/etc/localtime:ro - ${ABSOLUTE_PATH}/data/traefik/traefik.yml:/etc/traefik/traefik.yml - ${ABSOLUTE_PATH}/data/traefik/.htpasswd:/etc/traefik/.htpasswd - ${ABSOLUTE_PATH}/data/traefik/certs/acme.json:/etc/traefik/acme.json - ${ABSOLUTE_PATH}/data/traefik/certs/acme_letsencrypt.json:/etc/traefik/acme_letsencrypt.json - ${ABSOLUTE_PATH}/data/traefik/certs/tls_letsencrypt.json:/etc/traefik/tls_letsencrypt.json - ${ABSOLUTE_PATH}/data/traefik/dynamic_conf:/etc/traefik/dynamic_conf:ro - /var/log/traefik/:/var/log/traefik/Ich vermute mal, dass sich die Fehlermeldung nicht auf direkt auf diese traefik.yml bezieht, da in den genannten Zeilen keine ‘keys’ definiert werden!?
Frage ist nur, wo ich hin muss??
Viele Grüße und vielen Dank!
Hallo,
habt ihr auch einen Homeserver mit einen DNS-Dienst und wollt eure Container inklusive SSL-Zertifizierung absichern, so dass nur ihr selbst oder ein paar Freunde an eure Dienste kommen? Dann habe ich etwas für euch. Voraussetzung ist lediglich, dass alle Freunde auch ein eigenes DynDNS eingerichtet haben (z. B. auch MyFritz).
ich habe gerade meinen eigenen Home-Server etwas umkonfiguriert und bin sehr zufrieden mit dem Ergebnis. Daher möchte ich es mit euch teilen. Alle nicht erwünschten Besucher bekommen dann beim Aufruf eurer Domain einen 403 Fehler (konfigurierbar).
Statt default@file habe ich drei weitere Middlewares erstellt: private, protected, public.
private: Nur ich aus meinem eigenen Netz, in dem der Server an DynDNS hängt, kann meine Dienste erreichen.
protected: Nur ich selber und fest definierte Domains (z. B. via DynDNS) können auf den Dienst zugreifen
public: Normaler Zugriff für alle
Um das zu verwirklichen, benötigt man das Plugin ddns-allowlist. Info: https://plugins.traefik.io/plugins/66fef7d4573cd7803d65cb12/ddns-allowlist
Es muss in /opt/container/traefik/data/traefik/traefik.yml eingefügt werden:
experimental:
plugins:
...
ddns-allowlist:
moduleName: "github.com/taskmedia/ddns-allowlist"
version: "v1.7.0"
Traefik einmal neu starten mit:
docker compose up -d --force-recreate traefikJetzt fügen wir unter /opt/container/traefik/data/traefik/dynamic_conf 3 Dateien hinzu:
Bitte die Domains entsprechend ersetzen. Und achtet bitte auf die Einrückungen, die hier im Forum gerne verloren gehen.
http.middlewares.private:
http:
middlewares:
private:
chain:
middlewares:
- default
- local-only
local-only:
plugin:
ddns-allowlist:
logLevel: ERROR
sourceRangeHosts:
- "<EIGENE DYNDNS-DOMAIN>"
lookupInterval: 300
rejectStatusCode: 404
http.middlewares.protected
http:
middlewares:
protected:
chain:
middlewares:
- default
- allowlist
allowlist:
plugin:
ddns-allowlist:
logLevel: ERROR
sourceRangeHosts:
- "<EIGENE DYNDNS-DOMAIN>"
- "<DYNDNS FREUND1>"
- "<DYNDNS FREUND2>"
- "<DYNDNS FREUND...>"
- "<DYNDNS FREUNDX>"
lookupInterval: 300
rejectStatusCode: 404
http.middlewares.public
http:
middlewares:
public:
chain:
middlewares:
- default
Die letzte Middleware “public” ist eigentlich gar nicht notwendig, weil sie nur als eine Art Alias für “default” genutzt wird. Ich finde es aber sehr viel lesbarer, wenn man überall private, protected, public stehen hat, daher habe ich das so konfiguriert.
Um jetzt Dienste zu konfigurieren, benutzt ihr unter labels, statt wir bisher:
traefik.http.routers.<service>.middlewares: default@file
Einfach:
traefik.http.routers.<service>.middlewares: private@file
oder
traefik.http.routers.<service>.middlewares: protected@file
oder
traefik.http.routers.<service>.middlewares: public@file
Wie bereits erwähnt, ist public nur ein Alias und ihr könnt auch default@file weiter benutzen.
Mit dieser Konfiguration kann man dann ganz einfach zum Beispiel Nextcloud komplett freigeben über public@file, aber sagen wir ein Jellyfin- oder Minecraft-Server nur für Freunde freigeben über protected@file und Paperless nur fürs eigene Netz mit private@file.
Nachdem ihr das Label eures Services angepasst habt, müsst ihr ihn einmal neu starten.
Das ganze ist natürlich komplett flexibel und erweiterbar. Einfach weitere Middlewares mit erlaubten IPs hinzufügen, um verschiedene Gruppen zuzulassen.
Ich finde das super einfach und praktisch 🙂
Hallo Zusammen.
Mir ist folgendes aufgefallen. Ich habe die Anleitung auf einen Debian 13.4 installiert. Es funktioniert soweit alles, bis auf Crowdsec. Wenn ich “docker exec crowdsec cscli metrics” ausführe tauchen access.log und auth.log nicht auf. Gibt es da eine Lösung?
Ich habe heute den stack “upgadatet” seit dem läuft crowdsec in einer Schleife. Folgendes habe ich im Log gefunden: time=”2026-04-16T22:16:42+02:00″ level=fatal msg=”crowdsec init: while loading acquisition config: /etc/crowdsec/acquis.d/appsec.yaml: datasource of type appsec: unable to build appsec_config: unable to load inband rule crowdsecurity/base-config : no appsec-rules found for pattern crowdsecurity/base-config”
Jemand ne Idee?
Hi, ich habe Appsec jetzt mal über die Migrationsanleitung (siehe Versionierung) aktiviert.
Der Test wie hier beschrieben war soweit auch wie erwartet.
Leider habe ich aktuell das Problem, dass ein Bitwarden-Client keine Änderungen mehr in Vaultwarden speichern kann. In der Alert-Liste sehe ich entsprechende Bans, und der Client wird sofort ausgeloggt.
Das Thema Whitelisting habe ich anhand des „Tandoor“-Beispiels noch nicht vollständig verstanden. Deshalb habe ich mich zunächst an die Dokumentation gehalten und den Report-Only-Modus über SERVICES_TRAEFIK_ENV_CROWDSEC_APPSEC_FAILURE_BLOCK=false
aktiviert.
Trotzdem wurde ich weiterhin blockiert.
Erst nachdem ich AppSec vollständig deaktiviert habe, funktionierte es wieder.
Meine Fragen dazu:
Danke Gruss Marco