我的配置如下:
前端
traefik.frontend.rule=Host:my.domain;PathPrefixStrip:/mypath/
traefik param
--entrypoints="Name:http Address::80 Redirect.EntryPoint:https Redirect.Regex:http://my.domain/(.*)$ Redirect.Replacement:https://my.domain/$1 Redirect.Permanent:true"
我的目标是将给定路径上的HTTP请求重定向到其HTTPS端点。但是,路径前缀删除似乎发生在之前" main" redirect.regex / replacement逻辑,打破了一些请求。例如:
http://my.domain/mypath/v1/foo
将成为:
https://my.domain/v1/foo
虽然我期望它是:
https://my.domain/mypath/v1/foo
无论如何要解决这个问题?
答案 0 :(得分:0)
请注意,如果为重定向定义了
regex
,则不必在重定向结构中设置replacement
和entrypoint
(在这种情况下不会使用它们)。
https://docs.traefik.io/v1.5/configuration/entrypoints/#redirect-http-to-https
另请注意Redirect.Permanent:true
进入1.6
尝试类似的东西:
--entrypoints="Name:http Address::80 Redirect.Regex:http://my.domain/(.*)$ Redirect.Replacement:https://my.domain/mypath/$1 Redirect.Permanent:true"