https://github.com/bitrvmpd/traefik-plugin-rewrite-headers
https://github.com/bitrvmpd/traefik-plugin-rewrite-headers
traefik-plugin
Last synced: 6 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/bitrvmpd/traefik-plugin-rewrite-headers
- Owner: bitrvmpd
- License: apache-2.0
- Created: 2022-11-13T22:58:44.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2024-03-13T05:53:11.000Z (over 2 years ago)
- Last Synced: 2025-10-10T00:47:13.559Z (9 months ago)
- Topics: traefik-plugin
- Language: Go
- Homepage:
- Size: 9.77 KB
- Stars: 6
- Watchers: 1
- Forks: 5
- Open Issues: 1
-
Metadata Files:
- Readme: readme.md
- License: LICENSE
Awesome Lists containing this project
README
# Rewrite Headers
Inspired by: https://github.com/XciD/traefik-plugin-rewrite-headers
Rewrite headers is a middleware plugin for [Traefik](https://traefik.io) which replace a header in the request and/or response
## Configuration
### Static
```yaml
experimental:
plugins:
rewriteHeaders:
modulename: "github.com/bitrvmpd/traefik-plugin-rewrite-headers"
version: "v0.0.1"
```
### Dynamic
To configure the Rewrite Request Header plugin you should create a [middleware](https://docs.traefik.io/middlewares/overview/) in your dynamic configuration as explained [here](https://docs.traefik.io/middlewares/overview/).
The following example creates and uses the rewriteHeaders middleware plugin to modify the Location header
```yaml
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
``` yaml
- 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
```