如何配置对根/裸域的 Azure 应用服务支持?

问题描述 投票:0回答:1

我有一个托管 asp.net 网站的 Azure 应用服务。我通过 GoDaddy 有一个自定义域,我通过 Azure 中的 DNS 区域进行管理。我找不到任何有关如何支持根域或“裸”域流量的文档。

我有一个来自 Azure 的标准托管证书 - 我的理解是我不需要通配符证书来完成我想要做的事情:

https://learn.microsoft.com/en-us/azure/app-service/configure-ssl-app-service-certificate?tabs=portal#buy-and-configure-an-app-service-certificate

颁发的证书可保护根域和 www 子域。

自定义域和证书适用于“www.mydomain.com”,但在点击“mydomain.com”时会解析为 404 错误。

我的 DNS 区域有以下记录:

  • A => @ => 我的 Web Azure IP 地址
  • TXT => @ => v=spf1 包括:spf.protection.outlook.com -all
  • CNAME => www => 我的蔚蓝网址
  • CNAME => 选择器1-azurecomm-prod-net._domainkey => 选择器1-azurecomm-prod-net._domainkey.mydomain.com
  • CNAME => 选择器2-azurecomm-prod-net._domainkey => 选择器2-azurecomm-prod-net._domainkey.mydomain.com*
  • TXT => asuid =>(某种指导)

(加上 NS 和 SOA)

我发现了一些文章提到使用域名转发(来自 GoDaddy)、Front Door(35 美元/月)和流量管理器(也不是免费的)。我如何支持处理我的“根”域的流量?

azure asp.net-core dns azure-web-app-service
1个回答
0
投票

您无需购买域名转发。

当您的客户端(网络浏览器)请求该网站时,它会随请求发送主机地址。这样服务器就能够托管多个网站,并在共享托管场景中区分您的请求与请求不同网站的用户。

GET / HTTP/1.1
Host: mywebsite.azurewebsites.com
User-Agent: Mozilla/5.0
Accept: text/html

当您请求 GoDaddy 根域时,Azure Web 服务器场会收到

Host: www.mydomain.com
,但它不知道要服务哪个应用程序。

要解决此问题,您必须将

www.mydomain.com
作为自定义域添加到您的 Web 应用程序中。从您的 DNS 记录来看,您似乎已经在 Azure 中验证了您的域,因此您可以跳过一些常规步骤。

导航到 Azure 门户中的 Web 应用程序

添加自定义域:

  • 在左侧菜单的“设置”部分下,单击“自定义域”。
  • 单击“添加自定义域”。
  • 输入您已验证的自定义域名,然后单击“添加”。

使用 SSL 确保安全(可选): 为了让客户端建立 TLS/SSL,它必须根据浏览器地址栏中指定的请求的完全限定域名 (FQDN) 验证远程证书的公用名 (CN) 或使用者备用名称 (SAN)。如果它们不匹配,那么您将在浏览器中显示错误/警告。

在您的情况下,您可能会收到带有 CN

*.azurewebsites.com
的 MS/Azure 证书。这与
mydomain.com
不匹配,因此在使用
https://...
方案时会出现错误。

要解决此问题,您必须获得

mydomain.com
的证书。大多数证书颁发机构都会免费向您出售一个包含
www
子域作为 SAN 的证书; Azure 应用服务托管证书可以。

  • 如果您想使用 SSL 保护自定义域,请转到 Web 应用程序的“TLS/SSL 设置”部分。
  • 配置 SSL 设置并将 SSL 证书绑定到您的自定义域。如果您使用 Azure 应用服务托管证书,Azure 将为您处理此问题。

将自定义域添加到 Azure 中的 Web 应用程序后,应该可以使用您的自定义域名进行访问。

© www.soinside.com 2019 - 2024. All rights reserved.