Path Rewriting Settings
This reference covers all of Pomerium's Path Rewriting Settings:
These settings affect only the requests sent to an upstream service. Pomerium will not rewrite responses from an upstream service based on these settings. This includes any link URLs or paths to JavaScript or CSS assets.
In general, if you want to expose an upstream service under some URL path prefix, you will also need to configure the service so it is aware of this path prefix. Otherwise, absolute URLs in the response may be incorrect and the service may not function correctly.
Example: Grafana
If you host a Grafana instance at https://example.com/grafana/
, using a Pomerium route with the following settings:
prefix: /grafana/
prefix_rewrite: /
then you will also need to configure Grafana with its root_url
option set to https://example.com/grafana/
.
(The specific configuration options will vary from service to service. You will need to consult the documentation for your particular service.)
Prefix Rewrite
If set, Prefix Rewrite indicates that during forwarding, the matched prefix (or path) should be swapped with this value.
How to configure
- Core
- Enterprise
- Kubernetes
YAML/JSON setting | Type | Usage |
---|---|---|
prefix_rewrite | string | optional |
Examples
from: https://from.example.com
to: https://to.example.com
prefix: /admin
prefix_rewrite: /
Configure Prefix Rewrite in the Console:
- Set the Prefix in Path Matching settings:
- Set the Prefix Rewrite in Path Rewriting settings:
Annotation name | Type | Usage |
---|---|---|
prefix_rewrite | string | optional |
A request to https://from.example.com/admin
would be forwarded to https://to.example.com/
.
Regex Rewrite
If Regex Rewrite or Regex Rewrite Substitution are set, the URL path will be rewritten according to the pattern and substitution, similar to prefix_rewrite
.
How to configure
- Core
- Enterprise
- Kubernetes
YAML/JSON setting | Type | Usage |
---|---|---|
regex_rewrite_pattern | string | optional |
regex_rewrite_substitution | string | optional |
Examples
regex_rewrite_pattern: '^/service/([^/]+)(/.*)$'
regex_rewrite_substitution: "\\2/instance/\\1"
Set Regex Rewrite pattern and substitution in the Console:
Kubernetes does not support Regex Rewrite