如何将所有https请求重定向到https

时间:2018-04-05 13:39:23

标签: apache redirect http-status-code-301 multiple-domains

我现在对所有这些重定向都感到有些困惑。

我有一个主域domainA.com,其所有子域都由通配符证书保护。但我们为domainA.chdomainA.co.uk等国家/地区设置了多个域名。 这些其他域通过301重定向到主域,当用户在其地址栏中键入以下内容之一时,该域正常工作: domainA.ch, www.domainA.ch or http://domainA.ch

但如果他完全输入https://domainA.ch,则用户会收到ERR_CERT_AUTHORITY_INVALID条消息。

一个解决方案是多域证书而不是单域证书,但这在经济上会有很大差异。 另一个解决方案是让所有其他域成为vhost,由letsencrypt保护并通过.htaccess重定向到主域。

对我来说,这两个解决方案看起来都不“很好”,有没有办法在浏览器进行握手之前重定向?

非常感谢

domainA.com.conf:
prefix = / var / www / vhosts / system / $ pool
user = __
group = __
listen = php-fpm.sock
listen.owner = root
listen.group = __
listen.mode = 0660
chdir = /
pm = ondemand
pm.max_children = 5
pm.max_spare_servers = 1
pm.min_spare_servers = 1
pm.process_idle_timeout = 10s
pm.start_servers = 1

2 个答案:

答案 0 :(得分:0)

除非您为每个域提供不同的IP地址,否则每个域都可以拥有自己的证书。否则,您需要为该单个IP地址提供SAN证书。

答案 1 :(得分:0)

您不能拥有与不同顶级域匹配的通配符证书。

当客户端浏览器连接到https://domain.ch时,它需要查看包含主题中的域或主题备用名称(SAN)的证书。

因此,没有正确的证书,您的https流量没有简单的重定向配置。 如果您有许多TLD域,您只想重定向到您的全球站点,您应该看看其他选项。让我们加密证书可能就好了。