Skip to content
 
 

Repository files navigation

Rewrite Headers

Inspired by: https://github.com/XciD/traefik-plugin-rewrite-headers and https://github.com/Connection-Loops/traefik-plugin-rewrite-headers

Rewrite headers is a middleware plugin for Traefik which replace a header in the request and/or response

The only additional feature it has is, it supports manipulating Host header too. Which is not possible with original repos.

Configuration

Static

experimental:
  plugins:
    rewriteHeaders:
      moduleName: "github.com/Connection-Loops/traefik-plugin-rewrite-headers"

Dynamic

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: Location
                regex: "^http://(.+)$"
                replacement: "https://$1"
            response:
              - header: Location
                regex: "^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

About

Traefik Plugin to Rewrite Headers incl Host Header

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages