在阅读了与此相关的github问题之后,仍然有很多不清楚的地方,就像我以前在nginx中那样,如何完全在Traefik中编写简单的301重定向:
server_name foo.com
return 301 https://bar.com
该计划是:将http方案中的任何请求重定向到https(相同的域),而不管该域是否存在(如端口{80}上带有redirect 301 https://$host
的nginx默认主机中一样)。
然后,匹配https-Host,返回带有新Location:
-标头的重定向代码。
我的基本traefik.toml是:
defaultEntryPoints = ["http", "https"]
[entryPoints]
[entryPoints.http]
address = ":80"
[entryPoints.http.redirect]
entryPoint = "https"
[entryPoints.https]
address = ":443"
[entryPoints.https.tls]
minVersion = "VersionTLS12"
[acme]
email = "acme@mydomain.com"
storage = "/etc/traefik/acme/acme.json"
entryPoint = "https"
onHostRule = true
[acme.httpChallenge]
entryPoint = "http"
[file]
directory = "/etc/traefik/conf/"
watch = true
现在,conf/
中的文件如何看起来必须采用上述nginx重定向?大约有300个域托管在另一个位置,因此不需要后端,并且必须不进行302 /重写以符合SEO。
此公关https://github.com/containous/traefik/pull/2570似乎很接近我想要的东西,但是没有文档说明如何使用它。