使用专用端点时使用专用 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 地址访问。
我按照 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 地址访问。