天蓝色的自定义域和SSL

时间:2016-04-28 07:54:46

标签: azure

嗨,

我需要在一个Web应用程序@ Azure中创建多个域。

如何在天蓝色中接近这个概念?

感谢。

1 个答案:

答案 0 :(得分:0)

enter image description here

你应该注册域名,然后去编程方式。我建议 - 下面是将域名添加到webapp的代码片段(C#)。但您可以使用http://portal.azure.com添加主机名 - 设置=>自定义域=>主机名。 (带外部域名)。

1)将NuGet Web Sites Management Package安装到您的项目中。

2)获取Azure发布设置文件(例如,使用Powershell Get-AzurePublishSettingsFile)。稍后您将需要它(该文件中的管理证书字段的值)。

2)实例化WebSiteManagementClient。 That应该有助于理解代码。

3)接下来,代码如下。我刚刚测试过并且有效。首先,它列出了网站空间,然后是每个网站空间内的网站,你应该将网站空间复制并粘贴到

public const string base64EncodedCertificate = "ManagementCertificateValueFromPublishSettingsFile";
    public const string subscriptionId = "AzureSubscriptionId";

    static SubscriptionCloudCredentials getCredentials()
    {
        return new CertificateCloudCredentials(subscriptionId, new X509Certificate2(Convert.FromBase64String(base64EncodedCertificate)));
    }
    static void Main(string[] args)
    {
        WebSiteManagementClient client = new WebSiteManagementClient(getCredentials());

        WebSpacesListResponse n = client.WebSpaces.List();
        n.Select(p =>
        {
            Console.WriteLine("webspace {0}", p.Name);
            WebSpacesListWebSitesResponse websitesInWebspace = client.WebSpaces.ListWebSites(p.Name,
                  new WebSiteListParameters()
                  {
                  });
            websitesInWebspace.Select(o =>
            {
                Console.Write(o.Name);     

                return o;
            }).ToArray();
            return p;
        }).ToArray();

        Console.ReadLine();
        var configuration = client.WebSites.Get("WebSpaceName", "WebSiteName", new WebSiteGetParameters());

        configuration.WebSite.HostNames.Add("new domain");
        var resp = client.WebSites.Update("WebSpaceName", "WebSiteName", new WebSiteUpdateParameters() { HostNames = configuration.WebSite.HostNames });
        Console.WriteLine(resp.StatusCode);
        Console.ReadLine();
    }