Skip to main content

Path Rewriting Settings

This reference covers all of Pomerium's Path Rewriting Settings:

caution

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

YAML/JSON settingTypeUsage
prefix_rewritestringoptional

Examples

from: https://from.example.com
to: https://to.example.com
prefix: /admin
prefix_rewrite: /

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

YAML/JSON settingTypeUsage
regex_rewrite_patternstringoptional
regex_rewrite_substitutionstringoptional

Examples

regex_rewrite_pattern: '^/service/([^/]+)(/.*)$'
regex_rewrite_substitution: "\\2/instance/\\1"