如何确定我们正在访问的cdn边缘服务器位于何处?

how to make sure where the cdn edge server we're accessing is located?

创建源为blob存储的CDN端点后,当我们从中国访问CDN端点时,性能似乎很差。有什么方法可以查看我访问的是亚洲边缘 CDN 服务器还是北美边缘服务器?

我可以只使用命令dig获取返回的ip,并查找IP的位置吗? (这样IP是北美的)

是的,您可以通过 IP Location 找到 CDN 边缘服务器,因为在 CDN 环境中,客户端总是从端点而不是源服务器接收响应。但由于部分第三方提供商的POP城市位置未公开,您可能看不到IP城市位置。

对于CDN基础架构,当用户点击地址栏中的URL时,本地DNS服务器会将DNS解析下发给CDN专用DNS服务器,CDN DNS服务器会告诉一个IP从 CDN 全局 LB 设备到用户的地址。该用户将请求发送给CDN全球LB设备,全球LB设备将根据客户端IP、请求内容、区域告诉该用户一个合适的zone DNS LB服务器。然后该用户将向区域 DNS LB 服务器请求。 zone DNS服务器会根据这些条件select一个合适的POP服务器到全局LB服务器:哪个离客户端最近,哪个有期望的内容,哪个可以满足客户端的请求。最终,全球LB服务器将正确的POP服务器IP地址返回给用户。

您可以使用 Dig 命令查看 DNS 解析。我在 Linux Azure VM 上对此进行了测试。我正在使用标准 Microsoft 的 CDN 终结点。

有效的方法是使用Wireshark或网络监视器直接抓取网络包

如果您使用 windows 机器,从 chrome 浏览器,您可以在发送 HTTP/HTTPS 点击F12请求cdnedpoint,勾选Network-Headers-Remote Address,可以看到服务器IP地址。

此外,如果中国对您的客户来说是一个重要的市场并且他们需要快速的性能,请考虑改用 Azure CDN 中国。 Azure CDN 中国通过与多家本地提供商合作,从中国境内的 POP 交付内容。您可以获得有关 China content delivery with Azure CDN.

的更多详细信息