使用 Azure 托管证书时如何处理裸域

How to deal with naked domains when using azure managed certificates

我正在尝试使用最近公布的(预览版)Azure 应用服务托管证书。限制之一是您无法获得用于裸域的限制。例如:您可以 www.domain.com 得到一个,但 domain.com.

不能

在我的(当前)web.config 中,我正在使用重写规则从 'naked' 重定向到 'www',因此限制在 'www' 不是真实的问题。但是,由于重定向发生在 web.config 级别,也就是说,在请求到达网络服务器之后,这为时已晚:当 'domain.com' 被命中并尝试重定向时,浏览器已经看到与裸域的不安全连接(取决于浏览器)将显示警告页面。

那么应该如何处理 "naked" 域呢?根本没有更多的重定向?或者除了 web.config 配置之外还有其他方法可以做到这一点吗?我确实看了,但没有找到任何东西。

在这种情况下,我认为重定向是必要的。

我们可以从其他国际网站上得到一些线索。例如:当我尝试访问 http://google.com 时,实际上我会得到一个 301 重定向,它将我重定向到 http://www.google.com,然后我会得到一个 302 重定向,它将我重定向至 https://www.google.com/?gws_rd=ssl

因此,托管证书不支持裸域。我建议您直接将 www 子域添加到您的网络应用程序中。然后为该 www 子域创建托管证书。

最后,您可以在您的 DNS 提供商中添加 301 和 302 重定向规则,这将确保所有对裸域的请求都将被重定向到 www 子域。这可以在您的网络应用程序之前在您的 DNS 提供商中完成。

加入 Jack 的建议。

目前,预览版产品仅支持基于 CNAME 的验证。感谢您的反馈,它在我们未来要考虑的改进列表中,但是我们还没有关于此的任何 ETA。因此,请求您在 Uservoice 上对此反馈 post 投赞成票- https://feedback.azure.com/forums/169385-web-apps/suggestions/38981932-add-naked-domain-support-to-app-service-managed-ce

或者,您可以尝试将顶级域转发到子域,例如 www.

因此根据您的要求,重定向 - https://yourdomain.com -> https://www.yourdomain.com

如果您使用的是应用服务域,您可以通过转到域资源的 'Advanced Management portal' 来转发您的域。

经过一段时间的尝试,我最终是这样处理的: - 对所有 hostname.Domain.tld 个名称使用托管域证书 - 使用 letsencrypt 脚本(来自扩展)获取裸域证书

一旦 azure 为裸域提供证书,我将停用该脚本。

所以,经过时间,Azure终于支持了。可以简单地为裸域使用托管证书。

看这里:https://azure.github.io/AppService/2021/03/02/asmc-apex-domain.html