【问题标题】:https hosting on the root domain根域上的 https 托管
【发布时间】:2016-01-09 16:37:07
【问题描述】:

我在裸域上运行我的解析应用程序。 Parse 并没有让我的生活变得轻松。

起初我很难设置它,因为大多数 DNS 托管服务不允许根域上的 CNAME,而 Parse 需要 CNAME。

决定尝试使用 CloudFlare 的 CNAME 扁平化,最终通过在 [hostname key].example.com 下设置 CNAME 来工作。 Parse 不允许我在没有主机名键的情况下设置它,因为 example.com 不是真正的 CNAME(它正在被 CloudFlare 转换为 Wood 下的 A 记录)。

但我想在 HTTPS 下运行我的网站,所以我注册了一个对“https://example.com”和“https://www.example.com”都有效的证书。

再一次,Parse 并不容易。首先它不接受我的证书,因为主机名不匹配。我认为它可能试图将其与证书的子域 (www.example.com) 进行比较,而这与我的应用程序域 (example.com) 不匹配。

我在 [hostname key].www.example.com 上创建了另一个 CNAME,指向我的 parseapp.com 网址(不想更改 www.domain.com,因为它已经指向另一个重定向到 domain.com 的服务),将我的应用程序主机名更改为 www.example.com,它终于接受了我的证书!是啊!

将应用程序主机名改回 example.com 并尝试在浏览器中访问它,但加载需要很长时间并以失败告终。 如果我将我的应用程序更改为在“https://www.example.com”(带有 www 子域的安全站点)上运行,那么它可以正常工作。

所以我可以在http://example.com(不安全,没有 www)或“https://www.example.com”(使用 www 安全)中运行我的应用程序。

为什么 Parse 让在根域上运行应用程序变得如此困难?

我需要做些什么才能在根域中运行安全的应用程序吗?

【问题讨论】:

    标签: https parse-platform hosting cloud-hosting


    【解决方案1】:

    现在大多数 Web 服务都是围绕 CNAME 的概念设计的:它们为您提供 CNAME,您应该将您的主机名别名为该名称。

    但是,正如您所指出的,CNAME 具有 DNS 协议 RFC 施加的某些限制,它不能用于映射顶级域。

    一些 DNS 公司,例如 DNSimple 或 DNS Made Easy,提供了一种类似 CNAME 的记录类型,可用于将根域映射到云服务提供的主机名。使用这些服务还可以更轻松地配置 SSL 证书。

    说到 SSL 证书,请注意,当您为 example.com 或 www.example.com 购买单名证书时,它仅对该特定主机名有效。如果您购买www.example.com,大多数证书颁发机构也会包含相应的顶级域,但您需要与您的 SSL 证书提供商核实。

    最后但同样重要的是,将 HTTP 重定向到 HTTPS 流量的能力实际上取决于您的服务提供商,在本例中为 parse.com。不幸的是,这些服务不强制使用 HTTPS 的情况并不少见。 Heroku 目前也在做同样的事情,当你启用 HTTPS 时,它们不会强制 HTTP 到 HTTPS。

    您应该与他们核实是否有办法应用此类重定向,因为唯一的方法是在服务器级别或应用程序级别应用它。例如,您不能在 DNS 级别应用重定向。

    【讨论】:

      猜你喜欢
      • 2016-11-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-30
      • 1970-01-01
      • 2015-01-27
      • 2018-12-09
      • 2012-06-16
      相关资源
      最近更新 更多