Block User-Agent is a middleware plugin for Traefik which sends an HTTP 403 Forbidden
response when the requested HTTP User-Agent header matches one the configured regular expressions.
[pilot]
token="xxx"
[experimental.plugins.blockuseragent]
modulename = "github.com/agence-gaya/traefik-plugin-blockuseragent"
version = "vX.Y.Z"
To configure the Block User-Agent
plugin you should create a middleware in
your dynamic configuration as explained here. The following example creates
and uses the blockuseragent
middleware plugin to block all HTTP requests with a User-Agent like \bTheAgent\b
.
You can use regexAllow to make exception on blocking regex.
[http.routers]
[http.routers.my-router]
rule = "Host(`localhost`)"
middlewares = ["block-foo"]
service = "my-service"
# Block all user agent containing TheAgent except if containing Allowed word
[http.middlewares]
[http.middlewares.block-foo.plugin.blockuseragent]
regexAllow = ["\bAllowed\b"]
regex = ["\bTheAgent\b"]
[http.services]
[http.services.my-service]
[http.services.my-service.loadBalancer]
[[http.services.my-service.loadBalancer.servers]]
url = "http://127.0.0.1"