我有一个Kubernetes设置,其中Traefik是我的入口控制器。 Traefik位于AWS ELB的后面,该AWS ELB正在侦听SSL端口(TCP:443),以便它可以使用ACM证书终止SSL。然后,它将负载均衡到traefik(以k8s为单位),后者在TCP:80上侦听。我们需要进行此设置,因为我们需要在traefik中按每个白名单将其列入白名单,并使用代理协议标头来执行此操作(我们尝试在http负载均衡器上尝试使用x-fowarded-for白名单,但这很容易绕开)。
这适用于传入的HTTPS流量,但是我想将http重定向设置为https。到目前为止,我已经在转发到TCP:81的负载均衡器上设置了TCP:80侦听器。我还使用配置文件设置了Traefik入口点:
defaultEntryPoints = ["http"]
debug = false
logLevel = "INFO"
# Do not verify backend certificates (use https backends)
InsecureSkipVerify = true
[entryPoints]
[entryPoints.http]
address = ":80"
compress = true
[entryPoints.http.proxyProtocol]
insecure = true
trustedIPs = ["10.0.0.0/8"]
[entryPoints.redirect]
address = ":81"
compress = true
[entryPoints.http.redirect]
entryPoint = "http"
但是这给出了一个
400 Bad Request
当我尝试访问:80上的任何服务时。
我认为这是因为要使此方法起作用,traefik本身需要具有SSL侦听器,而不是ELB。
是否可以设置此方法,以便将在traefik上遇到的所有流量都重写为https?