根域上的https主机

根域上的https主机,https,parse-platform,hosting,cloud-hosting,Https,Parse Platform,Hosting,Cloud Hosting,我正在裸域上运行我的解析应用程序。不过,Parse并没有让我的生活变得轻松 起初,我很难设置它,因为大多数DNS托管服务不允许根域上的CNAME,解析需要CNAME 决定使用CloudFlare的CNAME展平功能进行尝试,最后在[hostname key].example.com下设置CNAME。 Parse不允许我在没有hostname键的情况下设置它,因为example.com不是一个真正的CNAME(它正在被CloudFlare转换为wood下的a记录) 但是我想在HTTPS下运行我的网

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

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

决定使用CloudFlare的CNAME展平功能进行尝试,最后在[hostname key].example.com下设置CNAME。 Parse不允许我在没有hostname键的情况下设置它,因为example.com不是一个真正的CNAME(它正在被CloudFlare转换为wood下的a记录)

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

同样,解析并不能让它变得简单。首先,它不接受我的证书,因为主机名不匹配。我想它可能是想把它和证书的子域(www.example.com)进行比较,而这与我的应用程序域(example.com)不匹配

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

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

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

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


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

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

但是,正如您所注意到的,CNAME有DNS协议RFC施加的某些限制,不能用于映射apex域

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

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

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

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