GeoBlock von Pascal Minder
Ein super nützliches Plugin für alle, die häufig von Leuten aus anderen Ländern (z. B. Russland) belästigt werden, aber von dort keine Zugriffe erwarten: GeoBlock von Pascal Minder
Nehmen wir die Compose Konfiguration von der Seite Installation und den Testdienst von der Seite Dienst konfigurieren.
Die beiden Konfigurationen werden testweise zu einer Konfigurationsdatei zusammengeführt und dann um die Einstellungen für das Plugin erweitert. Somit sieht die neue Konfigurationsdatei nun wie folgt aus.
services:
traefik:
image: "traefik"
container_name: "traefik"
command:
- "--api.insecure=true"
- "--providers.docker=true"
- "--providers.docker.exposedbydefault=false"
- "--entrypoints.web.address=:80"
# Plguin GeoBlock von Pascal Minder hinzufügen
- --experimental.plugins.geoblock.modulename=github.com/PascalMinder/geoblock
- --experimental.plugins.geoblock.version=v0.2.7
labels:
# - traefik.http.middlewares.traefikgeoblock.plugin.geoblock.allowLocalRequests=true
# - traefik.http.middlewares.traefikgeoblock.plugin.geoblock.allowUnknownCountries=false
- traefik.http.middlewares.traefikgeoblock.plugin.geoblock.api=https://get.geojs.io/v1/ip/country/{ip}
- traefik.http.middlewares.traefikgeoblock.plugin.geoblock.cacheSize=15
- traefik.http.middlewares.traefikgeoblock.plugin.geoblock.blackListMode=true
# Anfragen von russichen und chinesischen IPs blockieren
- traefik.http.middlewares.traefikgeoblock.plugin.geoblock.countries=RU,DECN
- traefik.http.middlewares.traefikgeoblock.plugin.geoblock.forceMonthlyUpdate=true
- traefik.http.middlewares.traefikgeoblock.plugin.geoblock.logAllowedRequests=false
- traefik.http.middlewares.traefikgeoblock.plugin.geoblock.logApiRequests=false
- traefik.http.middlewares.traefikgeoblock.plugin.geoblock.logLocalRequests=false
# Plugin Konfiguration Ende
ports:
- "80:80"
- "8080:8080"
volumes:
- "/var/run/docker.sock:/var/run/docker.sock:ro"
networks:
- traefik
services:
whoami:
image: "traefik/whoami"
container_name: "simple-service"
labels:
- "traefik.enable=true"
- "traefik.http.routers.whoami.rule=Host(`whoami.localhost`)"
- "traefik.http.services.whoami.loadbalancer.server.port=80"
# Plugin GeoBlock für whoami aktivieren
- traefik.http.routers.whoami.middlewares=traefikgeoblock
# Plugin Aktivierung Ende
networks:
- traefik
networks:
traefik:
name: traefik
external: true
{{@48#bkmrk-Compose-Run}}
Nachdem die Konfiguration gestartet wurde, kann über das Traefik Dashboard auch das geladene Modul eingesehen werden.
Hierzu einfach im Dashboard auf Middlewares - Explore klicken und dann traefikgeoblock@docker auswählen. Die Ansicht sieht dann in etwa wie folgt aus. Ganz unten werden alle Router dargestellt, die dieses Plugin verwenden.