Questo plugin implementa una IP Allow List basata su un indirizzo IP preso da un header HTTP, ad esempio X-Forwarded-For o True-Client-IP.
È utile quando Traefik riceve le connessioni attraverso un reverse proxy (come Akamai o Cloudflare) e l'IP sorgente TCP non corrisponde al vero client.
- Permette o blocca le richieste in base all'IP reale del client.
- Legge l'IP da un header configurabile (
X-Forwarded-Fordi default). - Supporta CIDR e singoli IP (
93.43.64.24/32,212.31.235.0/24, ecc.). - Risponde
403 Forbiddense l'IP non è consentito.
plugins-local/
└── src/
└── github.com/
└── stefanod83/
└── ipallowlistheader/
├── go.mod
├── ipallowlistheader.go
├── .traefik.yml
└── README.md
experimental:
localPlugins:
ipallowlistheader:
moduleName: github.com/stefanod83/ipallowlistheader
version: v0.1.0http:
middlewares:
admin-allowlist:
plugin:
ipallowlistheader:
headerName: "X-Forwarded-For"
sourceRange:
- "93.43.64.24/32"
- "212.31.235.0/24"http:
routers:
wp-admin:
rule: "Host(\`ebi.sefin.it\`) \&\& PathPrefix(\`/wp-admin\`)"
service: wordpress-ebi-sefin@docker
middlewares:
- admin-allowlist- Go >= 1.21
- Traefik >= v3.0 con supporto ai local plugins
go mod tidy
go build -v--log.level=DEBUGMIT