根域上的 https 托管

标签 https parse-platform hosting cloud-hosting

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

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

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

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

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

我在 [hostname key].www.example.com 创建了另一个 CNAME,指向我的 parseapp.com url(不想更改 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 让在根域上运行应用程序变得如此困难?

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

最佳答案

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

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

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

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

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

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

关于根域上的 https 托管,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25733507/

相关文章:

ios - 无法在 Parse 服务器上创建类。获取错误代码 1 - 内部服务器错误...我该如何解决这个问题?

ios - 无法初始化 PFObject 子类

javascript - 将一个对象换成保存前已经存在的对象

image - 在单独的子域上托管图像

php - 仅使用 PHP 和 .htaccess 实现 SSL

ssl - HSTS 过期如何运作

javascript - 不使用 https 能否安全地将信息发送到服务器?

wcf - 如何在 WSDL 中使用 HTTPS 为卸载 SSL 后的 WCF 服务配置服务端点

c - 如何用C语言实现一个HTTPS代理客户端

mysql - 我想使用 Mysql 作为数据库来部署我的 Rails 应用程序。我想使用免费的heroku 服务器。这个免费服务器有什么限制?