我正在使用traefik的前向身份验证功能,并具有以下配置:
[frontends]
[frontends.iis-website]
entrypoints = ["https"]
backend = "iis-website"
passHostHeader = true
[frontends.iis-website.headers]
ForceSTSHeader = true
STSPreload = true
STSIncludeSubdomains = true
STSSeconds = 315360000
[frontends.iis-website.auth.forward]
address = "https://auth.example.com/validateRequest.php"
[frontends.iis-website.routes]
[frontends.iis-website.routes.ext]
rule = "HostRegexp:website.example.{(com|org)}"
该配置按预期工作,产生了不希望有的效果:
如果最终用户请求访问website.example.org
,他们将被转发到他们可以进行身份验证的位置auth.example.com
。验证之后,将设置.example.com
的cookie,并将其重定向回website.example.org
。
不幸的是,由于auth.example.com
的cookie与.example.org
所使用的域不同,因此这将继续要求最终用户进行身份验证。
有什么办法可以根据原始前端路由将交易转移到不同的forward.auth
地址?