https://www.foo.bar
是我的主要域名。
我也想将所有内容重定向到bar.foo
。
它可以很好地处理http
请求,但如果我尝试,我会收到证书错误,并且不会发生https://bar.foo
重定向。https://www.foo.bar
配置中的相关部分应该是:
reqadd X-Forwarded-Proto:\ https
reqadd X-Forwarded-Port:\ 443
redirect prefix https://www.foo.bar code 301 if { hdr(host) -i foo.bar}
redirect prefix https://www.foo.bar code 301 if { hdr(host) -i www.bar.foo }
redirect prefix https://www.foo.bar code 301 if { hdr(host) -i bar.foo }
redirect scheme https if !{ ssl_fc }
我的错误在哪里?提前致谢。
答案1
除非您拥有该域的有效证书,否则您无法重定向请求起初浏览器请求的。
TLS 必须成功协商前重定向是可能发生的。这是 https 中的标准约束,并非特定于 HAProxy。您需要对所有域都有效的证书,这些域是您为其提供任何类型的请求,甚至是重定向。