目前我有一个 HAProxy 配置,它将所有 HTTP 流量重定向到 HTTPS。
frontend http-in
bind *:80
redirect scheme https code 301
然后我配置了各种 HTTPS 域,每个域都重定向到标准路径并使用自己的后端。
frontend https-in
bind *:443 no-sslv3 ssl crt /usr/local/etc/haproxy/cruise.pem crt /usr/local/etc/haproxy/rose.pem crt /usr/local/etc/haproxy/mirren.pem
reqadd X-Forwarded-Proto:\ https
rspadd Strict-Transport-Security:\ max-age=31536000;\ includeSubDomains
acl host_cruise ssl_fc_sni_reg -i tom.cruise.de
acl host_rose ssl_fc_sni_reg -i ruby.rose.com
acl host_mirren ssl_fc_sni_reg -i helen.mirren.com
acl movietime_context path -m beg /movietime/
redirect location https://tom.cruise.de/movietime/login code 301 if host_cruise !movietime_context
redirect location https://ruby.rose.com/movietime/login code 301 if host_rose !movietime_context
redirect location https://helen.mirren.com/movietime/login code 301 if host_mirren !movietime_context
use_backend cruise if host_cruise
use_backend rose if host_rose
use_backend mirren if host_mirren
我现在需要添加对tom.cruise.com
和 的支持。所有对和 的tom.cruise.at
请求都需要重定向到。tom.cruise.de
tom.cruise.at
tom.cruise.com
显然我需要新的 SSL 证书,tom.cruise.com
但我是否需要其他两个域的证书?我可以配置来自和的所有 HTTP 和 HTTPS 请求以tom.cruise.de
重定向tom.cruise.at
到,tom.cruise.com
而无需为at
和de
域配置 SSL 证书吗?
答案1
如果您想使用 HTTPS 进行任何操作(包括重定向),您将需要每个域都有一个证书。
但是您可以从其他域重定向 HTTP,并且仅在主域上使用 HTTPS。