首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何进行HTTPS重定向

如何进行HTTPS重定向
EN

Server Fault用户
提问于 2020-01-08 22:40:12
回答 2查看 374关注 0票数 2

只是试图锁定一些信息,因为我已经问了几个主机提供商,我不确定我是否有一个足够明确的答案,以满足。这是一个由两个部分组成的问题:如何让HTTPS重定向(任何way服务器,我只是在寻找概念),以及建议的实现方法。

假设我有一个包含几个TLD的域: example.ca、example.net和example.com。我希望我的站点只从https://example.com提供服务,.ca和.net将通过http和https重定向。

代码语言:javascript
复制
http(s)://example.ca -> https://example.com
http(s)://example.net -> https://example.com
http://example.com -> https://example.com
  1. 要使https://example.ca/.net -> https://example.com重定向工作,是否需要为example.ca、example.net和example.com的每个用户提供SSL证书,即使.ca和.net只是用于重定向,并且没有托管在它们上?UCC/SAN SSL证书能够覆盖所有3个域吗?
  2. 据我所读,最简单的方法是:获得一个简单的共享托管计划,安装UCC证书,并更新web服务器配置,使所有的HTTP和HTTPS流量都重定向到https://example.com。对吗?

我曾见过一些域名注册机构,如GoDaddy提供‘域名转发’,但从我所读到的,这只是通过http。为了使https重定向工作,我需要自己的服务器来安装证书。

编辑:我还不能确定我是否能给出一个答案,因为对于是否需要所有域的证书,还存在一些困惑。@Xzenor和@davidgo表示我确实需要每个域的证书,但@LTPCGO表示我只需要一个用于最终域的证书(但是需要一个通配符来包含子域)。

EN

回答 2

Server Fault用户

发布于 2020-01-09 00:56:57

您可以将获取转发到不安全域到安全域,而不会发出任何问题。您可以在主机文件中使用重定向在服务器级别执行此操作,以便从example.com提供所有内容。对于这个最后的域,example.com,无论是通配符(*.example.com)还是特定的子域,您都需要一个SSL证书。

在承载example.com的服务器上,您需要将所有流量重定向到HTTPS,这确实取决于您的服务器。对于Apache,您可以使用以下内容:

代码语言:javascript
复制
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

票数 1
EN

Server Fault用户

发布于 2020-01-09 02:53:39

从概念上讲,http和https重定向是相同的。在每种情况下,它们都以类似的方式配置。Typiy,这意味着浏览器击中旧网站,并得到一个"300“系列的响应,以及新的URL。

由于涉及到旧的和新的do.ains,因此需要每个证书。它们可以是由相同或不同的提供者颁发的单独证书,也可以是涵盖所有名称的单一证书。

如果所有域都指向同一个虚拟主机(这有点不寻常,但使用情况并不罕见),则需要一个覆盖所有域的证书。

从技术POV来看,没有域名转发这样的东西。在大多数情况下,这是一个所有URL都被重写的构造,由一个检测域名的“追赶所有”虚拟者提供服务。这对于https来说不太好,因为所有服务器都需要https证书才能不出错。

票数 1
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/998197

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档