我在使用 Powershell 脚本在 Azure Blob 存储 上托管 静态网站 时遇到了这个问题。
我的命令是这样的:
# Define Variables
$RESOURCE_GROUP_NAME = 'myresourcegroup'
$LOCATION = 'northeurope'
$STORAGE_ACCOUNT_NAME = 'mystorageaccount'
$WEBSITE_URL = mywebsite.z16.web.core.windows.net
New-AzCdnEndpoint -ProfileName $STORAGE_ACCOUNT_NAME -ResourceGroupName $RESOURCE_GROUP_NAME -Location $LOCATION -EndpointName $STORAGE_ACCOUNT_NAME -OriginName $STORAGE_ACCOUNT_NAME -OriginHostName $WEBSITE_URL
每次尝试使用 Azure CDN URL 访问网站时都会遇到错误:
The requested URI does not represent any resource on the server
HttpStatusCode: 400
这是我修复它的方法:
我错过了OriginHostHeader 参数。所以这次只好加了。
# Define Variables
$RESOURCE_GROUP_NAME = 'myresourcegroup'
$LOCATION = 'northeurope'
$STORAGE_ACCOUNT_NAME = 'mystorageaccount'
$WEBSITE_URL = mywebsite.z16.web.core.windows.net
New-AzCdnEndpoint -ProfileName $STORAGE_ACCOUNT_NAME -ResourceGroupName $RESOURCE_GROUP_NAME -Location $LOCATION -EndpointName $STORAGE_ACCOUNT_NAME -OriginName $STORAGE_ACCOUNT_NAME -OriginHostName $WEBSITE_URL -OriginHostHeader $WEBSITE_URL
注意:
OriginHostName 和OriginHostHeader 应该具有相同的值,即托管网站的 Azure 存储容器的 URL。在这种情况下是mywebsite.z16.web.core.windows.net,而不是https://mywebsite.z16.web.core.windows.net/
就是这样。
我希望这会有所帮助