使用专用端点时使用专用 IP 访问存储帐户

Access storage account using private IP when using private endpoint

我按照 https://docs.microsoft.com/en-us/azure/private-link/create-private-endpoint-storage-portal

的说明进行操作

奇怪的是,blob GET 请求似乎只在使用 FQDN 而不是直接私有 IP 时有效。

分配给mystorageaccount.blob.core.windows.net的私有IP是10.0.0.5

https://mystorageaccount.blob.core.windows.net/samplecontainer/1.png and https://mystorageaccount.privatelink.blob.core.windows.net/samplecontainer/1.png 的 GET 请求都没有问题,并且都映射到远程地址 10.0.0.5:443

但是,对 https://10.0.0.5/samplecontainer/1.png 的 GET 请求给出了 400 - Bad Request - Invalid Hostname 错误。

据我所知,即使您在没有专用终结点的情况下访问存储帐户来下载 blob,您也无法使用 IP 地址。 Azure 需要通过域名解析 blob 端点。

对于存储帐户的专用终结点,private link 也是由 Azure 设置的。而私有 IP 地址只是提供了一个隧道来连接来自 VNet 的存储。因此,您可以通过存储 blob 的域名或私有 link 访问存储 blob,但不能通过私有 IP 地址访问。