我正在尝试按照 Microsoft 问答文章中概述的流程设置 Cloudflare 来托管 Azure 域名。
作为此过程的一部分,我需要使用 PowerShell 生成 Azure 域注册的 SSO 请求。但是,在尝试调用 Microsoft.DomainRegistration/generateSsoRequest 终结点时,我遇到了 404 Not Found 错误。这导致我无法继续为我的 Azure 域设置 Cloudflare。
我尝试在本地和 Azure 门户的 Cloud Shell 中运行以下 PowerShell 代码:
$subscriptionID = "**********************"
Connect-AzAccount -TenantId **********************
Set-AzContext -Subscription $subscriptionID
$token = (Get-AzAccessToken).Token
$headers = @{"Authorization" = "Bearer $token"}
$uri = "https://management.azure.com/subscriptions/$subscriptionID/providers/Microsoft.DomainRegistration/generateSsoRequest?api-version=2023-01-01"
$response = Invoke-WebRequest -Method Post -Uri $uri -Headers $headers
我希望此代码能够成功生成 SSO 请求,然后我可以使用该请求继续为我的 Azure 域设置 Cloudflare 的过程。相反,我收到以下错误:
Invoke-WebRequest:响应状态代码不表示成功:404(未找到)。
我已验证是否已连接到正确的 Azure 帐户和订阅,并且使用的是最新的 API 版本 (2023-01-01)。尽管进行了这些检查,该错误在我的本地环境和 Azure 门户的 Cloud Shell 中仍然存在。我不确定端点是否正确,或者是否需要其他权限或配置才能成功发出此请求。
调用 Microsoft.DomainRegistration/generateSsoRequest 时未找到 404:
404
由于以下原因而发现错误。检查以下:
首先,打开门户并检查您是否具有创建域服务并生成 sso 请求所需的管理权限。如果显示如下,则说明您没有资格进行操作,并且可能会显示http错误代码。
根据MSDoc,
您还可以查看 @jdweng 建议的 MSDoc 以了解 RBAC 角色相关问题。
再次检查资源提供程序的 API 版本,并尝试使用
Invoke-RestMethod
(而不是 Web 请求)调用它来验证它。
如果问题仍然存在,您可以使用 Cloudflare Workers 发送自定义 HTTP 标头(此博客中详细介绍),而不是生成 sso 请求方法。