[英]Traefik Redirect Domain to Subdomain
我想在 TLS 环境中将所有请求永久重定向到example.com
和www.example.com
到blog.example.com
。
我目前的配置:
traefik.toml :
[entryPoints]
[entryPoints.web]
address = ":80"
[entryPoints.web.http.redirections.entryPoint]
to = "websecure"
scheme = "https"
[entryPoints.websecure]
address = ":443"
[providers.docker]
exposedbydefault = false
watch = true
network = "web"
[providers.file]
filename = "traefik_dynamic.toml"
[certificatesResolvers.lets-encrypt.acme]
email = "mymail@example.com"
storage = "/letsencrypt/acme.json"
[certificatesResolvers.lets-encrypt.acme.dnsChallenge]
provider = "myprovider"
traefik_dynamic.toml :
[http.middlewares]
[http.middlewares.goToBlog.redirectregex]
regex = "^https://(.*)example.com/(.*)"
replacement = "https://blog.example.com/$${2}"
permanent = true
[http.routers]
[http.routers.gotoblog]
rule = "Host(`example.com`) || Host(`www.example.com`)"
entrypoints = ["websecure"]
middlewares = ["goToBlog"]
service = "noop@internal"
[http.routers.gotoblog.tls]
certResolver = "lets-encrypt"
当我尝试访问example.com
时,它给了我一个 SSL 协议错误。 我的所有其他端点,包括blog.example.com
都在工作。 我究竟做错了什么?
好吧,显然这与我的重定向配置无关。 似乎是 traefik / docker 中的一个小插曲,类似于 traefik 的ACME 证书超时。 只等了一天,一切都按预期进行。 只需两个小更新即可更正重定向配置。 也许有一个更优雅的解决方案。
traefik_dynamic.toml :
[http.middlewares]
[http.middlewares.goToBlog.redirectregex]
regex = "^https://(.*)example.com/(.*)"
replacement = "https://blog.example.com/${2}" # no double $$
permanent = true
[http.routers]
[http.routers.gotoblog]
rule = "Host(`example.com`, `www.example.com`)" # just an array of domains is fine, too
entrypoints = ["websecure"]
middlewares = ["goToBlog"]
service = "noop@internal"
[http.routers.gotoblog.tls]
certResolver = "lets-encrypt"
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.