Benutzer-Werkzeuge

Webseiten-Werkzeuge


webdev:traefik

Træfɪk Notizen

Für Traefik < 2.x

Traefik Logging access.log und Lograte

Aus der Dokumentation:

Traefik will close and reopen its log files, assuming they're configured, on receipt of a USR1 signal. This allows the logs to be rotated and processed by an external program, such as logrotate. (https://docs.traefik.io/configuration/logs/#log-rotation)

Beispiel Logrotate (Ubuntu 1604)

Datei /etc/logrotate.d/traefik anlegen:

/var/log/traefik/*.log
{
        rotate 30
        daily
        missingok
        notifempty
        delaycompress
        compress
        postrotate
        	/usr/bin/docker kill --signal="SIGUSR1" $CONTAINERNAME >> /dev/null ;
	endscript
}

Testen

$ logrotate -f -d /etc/logrotate.d/traefik

File Backend

Beispiel nutzt den FILE Provider um einen entfernten Server (hier ein tunnel) zugänglich zu machen:

traefik.toml
[file]
 
[backends]
  [backends.backend1]
    [backends.backend1.servers.server1]
       url = "http://192.168.1.162:8999"
 
 
[frontends]
  [frontends.frontend1]
      backend = "backend1"
      passHostHeader = true
      [frontends.frontend1.routes.example]
          rule = "Host:dev.docker.local;PathPrefixStrip:/meindashboard"

Quelle: https://docs.traefik.io/configuration/backends/file/

Lets Encrypt

in traefik config file (config.toml)

[acme]
email = "myemail@example.com"
storage = "/acme.json"
entryPoint = "https"
onHostRule = true
[acme.httpChallenge]
entryPoint = "http"

Quelle: https://docs.traefik.io/configuration

Security Header

in docker-compose.yml

..
- "traefik.frontend.headers.STSSeconds=315360000"
- "traefik.frontend.headers.STSIncludeSubdomains=true"
- "traefik.frontend.headers.STSPreload=true"
- "traefik.frontend.headers.customResponseHeaders=Referrer-Policy:no-referrer"
- traefik.frontend.headers.frameDeny=true
- traefik.frontend.headers.browserXSSFilter=true       
- traefik.frontend.headers.contentTypeNosniff=true
 
..

Quelle: https://docs.traefik.io/configuration/backends/docker/#security-headers_1

Wenn man seine Response Header in diesem Zusammenhang schnell mal checken möchte, kann man den Webdienst von Mozilla nutzen: https://observatory.mozilla.org/

P.s. Häkchen nicht vergessen um zu vermeiden, das man in den öffentlichen Ergebnissen erscheint

Rate Limit

..
labels:
 - traefik.frontend.rateLimit.extractorFunc=client.ip
 - traefik.frontend.rateLimit.rateSet.set1.period=10s
 - traefik.frontend.rateLimit.rateSet.set1.burst=200
 - traefik.frontend.rateLimit.rateSet.set1.average=100
..

Testen kann man das beispielweise mit dem Tool ab oder vegeta

Max Connections / Backend

Cookies helfen bei der Bereitstellung von Inhalten. Durch die Nutzung dieser Seiten erklären Sie sich damit einverstanden, dass Cookies auf Ihrem Rechner gespeichert werden. Weitere Information
webdev/traefik.txt · Zuletzt geändert: 2019/11/12 18:01 von haiko