Direkt zum Hauptinhalt

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.

image.png