只是试图锁定一些信息,因为我已经问了几个主机提供商,我不确定我是否有一个足够明确的答案,以满足。这是一个由两个部分组成的问题:如何让HTTPS重定向(任何way服务器,我只是在寻找概念),以及建议的实现方法。
假设我有一个包含几个TLD的域: example.ca、example.net和example.com。我希望我的站点只从https://example.com提供服务,.ca和.net将通过http和https重定向。
http(s)://example.ca -> https://example.com
http(s)://example.net -> https://example.com
http://example.com -> https://example.com我曾见过一些域名注册机构,如GoDaddy提供‘域名转发’,但从我所读到的,这只是通过http。为了使https重定向工作,我需要自己的服务器来安装证书。
编辑:我还不能确定我是否能给出一个答案,因为对于是否需要所有域的证书,还存在一些困惑。@Xzenor和@davidgo表示我确实需要每个域的证书,但@LTPCGO表示我只需要一个用于最终域的证书(但是需要一个通配符来包含子域)。
发布于 2020-01-09 00:56:57
您可以将获取转发到不安全域到安全域,而不会发出任何问题。您可以在主机文件中使用重定向在服务器级别执行此操作,以便从example.com提供所有内容。对于这个最后的域,example.com,无论是通配符(*.example.com)还是特定的子域,您都需要一个SSL证书。
在承载example.com的服务器上,您需要将所有流量重定向到HTTPS,这确实取决于您的服务器。对于Apache,您可以使用以下内容:
NameVirtualHost *:80
<VirtualHost *:80>
ServerName www.yourdomain.com
Redirect / https://www.yourdomain.com
</VirtualHost>
<VirtualHost _default_:443>
ServerName www.yourdomain.com
DocumentRoot /usr/local/apache2/htdocs
SSLEngine On
# etc...
</VirtualHost>一旦一切正常运行,您就应该考虑实现HSTS
发布于 2020-01-09 02:53:39
从概念上讲,http和https重定向是相同的。在每种情况下,它们都以类似的方式配置。Typiy,这意味着浏览器击中旧网站,并得到一个"300“系列的响应,以及新的URL。
由于涉及到旧的和新的do.ains,因此需要每个证书。它们可以是由相同或不同的提供者颁发的单独证书,也可以是涵盖所有名称的单一证书。
如果所有域都指向同一个虚拟主机(这有点不寻常,但使用情况并不罕见),则需要一个覆盖所有域的证书。
从技术POV来看,没有域名转发这样的东西。在大多数情况下,这是一个所有URL都被重写的构造,由一个检测域名的“追赶所有”虚拟者提供服务。这对于https来说不太好,因为所有服务器都需要https证书才能不出错。
https://serverfault.com/questions/998197
复制相似问题