客户端 cname 指向我在 cloudflare 上的域

Posted

技术标签:

【中文标题】客户端 cname 指向我在 cloudflare 上的域【英文标题】:Client cname pointing to my domain on cloudflare 【发布时间】:2017-09-19 03:36:30 【问题描述】:

我们的一个客户拥有 client.com

我们的应用程序位于 superapp.mycompany.com

我们希望客户端能够通过他们自己的子域访问我们的应用程序,例如:superapp.client.com

通常我们只会告诉客户端为 superapp 添加一个 cname 并将其指向 superapp.mycompany.com。然后在我们的服务器 (IIS) 上,我们将他们的域绑定到我们的应用程序,一切都会按预期工作。

但是,当我们的 mycompany.com 域通过 cloudflare 管理时,我们无法复制此功能。

当我们导航到 superapp.client.com 时,我们会看到以下错误页面:


错误 1001

发生了什么?

您在 Cloudflare 网络上的网站 (superapp.client.com) 上请求了一个页面。 Cloudflare 当前无法解析您请求的域 (superapp.client.com)。


有什么方法可以以这种方式使用 Cloudflare?这似乎是为支持自定义域的多租户应用程序设置的非常标准的设置。

我们不需要 Cloudfront 为这些客户端域提供的所有保护,但我们希望将 Cloudfront 名称服务器用于外部应用程序(主要用于在我们迁移服务器时快速切换 DNS 记录等)。

感谢任何帮助。

【问题讨论】:

我们面临同样的挑战。如果您在这里找到解决方案,您能分享一下吗?您最终是否需要离开 Cloudflare for DNS? 我们放弃了这一点,我们设法通过在 cloudflare 上注册客户地址然后不进行验证来使基础工作正常进行,但我不相信生产中的这种设置。即使这样,SSL 也是不行的,所以我们继续前进。我不认为 cloudflare 是为我们这个职位的用户而设计的。从未找到好的解决方案,我们现在只是使用我们的沼泽标准 DNS 提供商(123-reg)。 @Ross 如果你仍然对这个问题感兴趣,我已经添加了一个解决方案。 【参考方案1】:

我希望现在还为时不晚。但只是找到了一种方法。 您只需将客户的域(在 Cloudflare 中添加站点)添加到您的帐户。

您无需更改客户端域的 NS。因此,在您的 Cloudflare 面板中,此域将显示为“等待域名服务器更新”。

下一步是将 CName 记录添加到此域。

虽然客户端域的NS没有改成CF,但是CF有一个查找记录作为它的CName。

希望对你有帮助。

【讨论】:

谢谢,看起来有点像 hack,但效果很好。 :) 你知道它是否还在工作吗?此解决方案仍然出现 1001 错误。 @MathieuFerre 我知道你的问题是几个月前的问题,但解决方案对我们有用。您必须转到 Cloudflare 中的客户端域(显示“待定名称服务器更新”的域)——在上面的示例中为“client.com”——并设置指向 superapp.mycompany 的 CNAME 记录 superapp.client.com .com 这个变通办法似乎不再起作用了。【参考方案2】:

以防万一有人遇到和我一样的问题。这是答案。简而言之,不,那是行不通的。

由于 Cloudflare 是 Cloudflare 上域的反向代理,因此域(不在 Cloudflare 上)的 CNAME 重定向不知道将流量发送到哪里。

参考:https://support.cloudflare.com/hc/en-us/articles/360017421192-Cloudflare-DNS-FAQ#CloudflareDNSFAQ-CanICNAMEadomainnotonCloudflaretoadomainthatisonCloudflare

【讨论】:

我无法访问该链接,我收到“您无权访问此页面”消息(即使在登录后)。【参考方案3】:

如果您不需要 CDN 优势,您仍然可以使用 Cloudflare 域名服务器来管理您的 DNS 区域并保留您当前的配置。只需确保您区域中目标子域的 CDN 已停用(在您的情况下为 superapp.mycompany.com)。

您可以通过查看每个 DNS 条目右侧的云图标来判断 CDN 是否已为子域激活或停用:如果云为橙色,则 CDN 处于活动状态,如果为灰色,则未激活。

Cloudflare 还在其 CDN 基础架构中支持外部 CNAME 解析,但它仅适用于其企业客户:https://support.cloudflare.com/hc/en-us/articles/217371987-Managed-CNAME

【讨论】:

以上是关于客户端 cname 指向我在 cloudflare 上的域的主要内容,如果未能解决你的问题,请参考以下文章

带有 CloudFlare 的子域

使用 cloudflare 将 CNAME 分配给我在亚马逊 S3 中的静态网站存储桶

Cloudflare从非主域重定向到Github页面

如何对 Amazon API Gateway 终端节点进行 CNAME

cloudflare api 将 curl 转换为 php curl 并发送 CNAME 更新

关于vmess工具经过cloudflare的dns解析后无法使用