跳到正文
Træfɪk

StripPrefixRegex

stripPrefixRegex 中间件移除匹配的路径前缀,并将其存储到 X-Forwarded-Prefix 头中。

提示

如果后端监听根路径(/),但应通过特定前缀对外暴露,请使用 stripPrefixRegex 中间件。

配置示例

http:
  middlewares:
    test-stripprefixregex:
      stripPrefixRegex:
        regex:
          - "/foo/[a-z0-9]+/[0-9]+/"
[http.middlewares]
  [http.middlewares.test-stripprefixregex.stripPrefixRegex]
    regex = ["/foo/[a-z0-9]+/[0-9]+/"]
labels:
  - "traefik.http.middlewares.test-stripprefixregex.stripprefixregex.regex=/foo/[a-z0-9]+/[0-9]+/"
{
  //..
  "Tags" : [
    "traefik.http.middlewares.test-stripprefixregex.stripprefixregex.regex=/foo/[a-z0-9]+/[0-9]+/"
  ]
}
- 
apiVersion: traefik.io/v1alpha1
kind: Middleware
metadata:
  name: test-stripprefixregex
spec:
  stripPrefixRegex:
    regex:
      - "/foo/[a-z0-9]+/[0-9]+/"

配置选项

字段 说明 默认值 必填
regex 用于匹配请求 URL 路径前缀的正则表达式列表。
例如,/products 也会匹配 /products/shoes 和 /products/shirts。
更多信息见此处。
否

regex 正则表达式

如果后端提供静态资源(例如图片或 JavaScript 文件),它可以使用 X-Forwarded-Prefix 头来构造相对 URL。 以上述示例而言,后端应返回 /products/shoes/image.png,而不是 /images.png,因为 Traefik 很可能无法将后者关联到同一个后端。

提示

可以使用 Go Playground 或 Regex101 等在线工具测试正则表达式和替换规则。

在 YAML 中定义正则表达式时,任何需要转义的字符都必须转义两次:example\.com 应写成 example\\.com。


版权所有 © 头文件软件工作室

文档由 HeadFile Studio 翻译。

Traefik v3.7 中文快照 · 原文版权归 Traefik Labs 及贡献者所有 · MIT 许可证