通过代码将域添加到Azure网站

时间:2013-09-11 00:21:09

标签: .net sdk azure-web-sites

如何以编程方式将其他域名添加到Azure网站?

希望我错过了.NET API,可能是在Azure SDK或NuGet包中。或者也许有一个REST接口。

2 个答案:

答案 0 :(得分:3)

Windows Azure网站管理REST API应提供您要查找的功能。

Windows Azure网站的属性 Site.HostNames 属性可用于提供其他域名。可以在创建网站期间或更新时提供属性。

请注意Configuring a custom domain name for a Windows Azure web site的一般信息。您还必须以编程方式将验证条目添加到DNS。

我不确定网站管理API是否有任何包装SDKs / libs / powershell命令行开关。

答案 1 :(得分:1)

可以使用(Azure管理)服务API,资源API或Azure RM PowerShell cmdlet来完成此操作。

我发现使用Services API最容易,因为使用PowerShell登录Microsoft帐户时出现错误,以及需要创建Azure RM应用程序作为GlobalAdmin才能使用Resources API的荒谬要求。

<强>的PowerShell

Login-AzureRmAccount  # Non-automatable because pops up OAuth window. -Credentials parameter is broken.
Set-AzureRmWebapp -Name 'SiteName' -ResourceGroupName 'ResourceGroup' -HostNames @('SiteName.azurewebsites.net', ...)

服务REST API

请求中需要客户端证书。生成/下载新证书here

PUT https://management.core.windows.net:8443/{subscriptionId}/services/webspaces/{webspace}/sites/{siteName}
Accept: application/json
Content-Type: application/json
x-ms-version: 2015-04-01

{
    HostNames: ['siteName.azurewebsites.net',...]
}

资源REST API

需要全局管理员帐户(共同管理员不起作用)。按照说明here进行设置

PUT https://management.azure.com/subscriptions/<subscriptionId>/resourcegroups/resourceGroup>/providers/Microsoft.Web/sites/<siteName>?api-version=2015-04-01
Accept: application/json
Content-Type: application/json

{
    HostNames: ['siteName.azurewebsites.net',...]
}