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,CN
- 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
Um die Docker Compose Konfiguration auszuführen, kann am besten in das Verzeichnis der YAML Datei gewechselt werden. Danach wird je nach nach gewählter Installation sudo docker-compose up -d
oder sudo docker compose up -d
(keine Bindestrich zwischen docker und compose) eingegeben, um die Standard Konfiguration docker-compose.yml
zu starten. Compose erstellt dann die gewünschten Container mit den angegeben Optionen. Sollten die Container bereits mit dieser Compose Konfiguration erstellt worden sein, so werden die Container in dieser neu erstellt, dessen Konfiguration geändert wurde.
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.
Keine Kommentare