[[webdev:traefik]]

Træfɪk Notizen

Für Traefik < 2.x

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

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/

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

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

Beispiel in docker-compose.yml

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

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/05/03 18:59
  • von haiko