我想从domain1.com
,domain2.com
,domain50.com
重定向到external.com
,但没有后端(仅301重定向)。
我确实听说过可以通过某些入口点正则表达式来实现,但是我想将许多域重定向到特定域。
参考文献:
答案 0 :(得分:0)
发现了:
[entryPoints]
[entryPoints.http]
address = ":80"
[entryPoints.http.redirect]
regex = "^http://localhost/(.*)"
replacement = "http://mydomain/$1"
答案 1 :(得分:0)
由于Traefik v1.x在没有后端的情况下不支持多个重定向,因此我解决了添加此hack的问题,从而部分解决了我的问题。
我基本上是通过一个重定向正则表达式来完成的,对于第一个组 使用一个前端+伪造的后端,然后对于第二个 来说,仅对入口点级别进行一次重定向,因为入口点还支持基于正则表达式的重定向。
这是对我有用的完整配置:
[entryPoints]
[entryPoints.http]
address = ":80"
[entryPoints.http.redirect]
entryPoint = "https"
permanent = true
[entryPoints.https]
address = ":443"
[entryPoints.https.redirect]
# Group 1
regex = "https://(www.)?(d1.com|d2.com|d3.com)(.+)?"
replacement = "https://www.x1.com$3"
permanent = true
[entryPoints.https.tls]
[file]
watch = true
[backends]
[backends.fake]
[backends.fake.servers.s1]
url = "http://1.2.3.4"
[frontends]
[frontends.r2]
entryPoints = ["https"]
backend = "fake"
[frontends.r2.redirect]
# Group 2
regex = "https://(www.)?(d4.com|d5.com|d6.com)(.+)?"
replacement = "https://www.x2.com$3"
permanent = false
有关此问题的完整讨论可以在Traefik官方论坛中找到: External domain redirection without backend proxy using Traefik v1.x