![Haproxy 1.8 重定向混乱](https://linux22.com/image/748786/Haproxy%201.8%20%E9%87%8D%E5%AE%9A%E5%90%91%E6%B7%B7%E4%B9%B1.png)
我需要一些有关重定向的帮助,目前我可以使用以下域名:
http://example.com
http://www.example.com
http://example.net
http://www.example.net
这些需要重定向到安全:https://www.example.com
但我也有
需要重定向到安全:https://blog.example.com
我认为我已经完成了一部分,但我只能理解如何从 .net 转到 .com
redirect scheme https if !{ ssl_fc }
acl has_www hdr_beg(host) -i www
acl has_blog hdr_beg(host) -i blog
http-request redirect location https://www.example.com%[req.uri] unless has_www || has_blog
答案1
我认为你把这个问题想得太复杂了。示例配置:
frontend fe_http
bind :::80
redirect scheme https code 301 if !{ ssl_fc }
frontend fe_https
bind :::443 ssl crt example_net.pem crt example_com.pem
use_backend bk_example_net if { hdr(Host) -i example.net } || { hdr(Host} -i www.example.net }
use_backend bk_example_com if { hdr(Host) -i example.com } || { hdr(Host} -i www.example.com }
use_backend bk_blog if { hdr(Host) -i blog.example.com }
然后让相应的 Web 服务器处理客户端是否要求带有或不带有“www”部分的主机名。