Поскольку Traefik v1.x не поддерживает несколько перенаправлений без серверной части, я решил добавить этот хак, который частично решил мою проблему.
Я сделал в основном с помощью одного регулярного выражения перенаправления, используя один внешний интерфейс + поддельный внутренний для первой группы , а затем для второй только одно перенаправление на уровне точки входа, поскольку точка входа также поддерживает перенаправление на основе регулярного выражения.
Вот полный конфиг, который у меня работал:
[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:
Перенаправление внешнего домена без внутреннего прокси с использованием Traefik v1.x