Inspired by: github.com/XciD/traefik-plugin-rewrite-headers
Rewrite headers is a middleware plugin for Traefik which replace a header in the request and/or response
experimental:plugins:rewriteHeaders:modulename: "github.com/bitrvmpd/traefik-plugin-rewrite-headers"version: "v0.0.1"
To configure the Rewrite Request Header plugin you should create a middleware in your dynamic configuration as explained here. The following example creates and uses the rewriteHeaders middleware plugin to modify the Location header
http:routes:my-router:rule: "Host(`localhost`)"service: "my-service"middlewares :- "rewriteHeaders"services:my-service:loadBalancer:servers:- url: "http://127.0.0.1"middlewares:rewriteHeaders:plugin:rewriteHeaders:rewrites:request:- header: Locationregex: "^http://(.+)$"replacement: "https://$1"response:- header: Locationregex: "^http://(.+)$"replacement: "https://$1"
Label based configuration
- traefik.http.middlewares.rewriteHeaders.plugin.rewriteHeaders.rewrites.request[0].header = Location- traefik.http.middlewares.rewriteHeaders.plugin.rewriteHeaders.rewrites.request[0].regex = ^http://(.+)$- traefik.http.middlewares.rewriteHeaders.plugin.rewriteHeaders.rewrites.request[0].replacement = https://$1- traefik.http.middlewares.rewriteHeaders.plugin.rewriteHeaders.rewrites.response[0].header = Location- traefik.http.middlewares.rewriteHeaders.plugin.rewriteHeaders.rewrites.response[0].regex = ^http://(.+)$- traefik.http.middlewares.rewriteHeaders.plugin.rewriteHeaders.rewrites.response[0].replacement = https://$1