使用C#管理Azure Web App的域

时间:2016-05-30 08:17:11

标签: c# azure web-applications dns

我正在以编程方式使用C#创建和配置Azure Web Apps。

我已经能够成功创建一个Web应用程序,并且还配置了其Web托管计划并将其升级为“共享”。但是,我想将域添加到我的网络应用

例如,我想将www.examplesite.com添加到我的webapp“TestWebApp”。

我已经在程序中使用了以下NameSpaces:

  • 使用Microsoft.WindowsAzure.Management.WebSites;
  • 使用Microsoft.WindowsAzure.Management.WebSites.Models;

为了实现这一点,我需要具体的具体内容?谢谢!

2 个答案:

答案 0 :(得分:1)

在大多数情况下,您无需更改代码,您需要配置DNS以将用户定向到正确的IP地址。

在以下msdn页面上,您可以找到有关如何为您的网站配置自定义域名的演练:web-sites-custom-domain-name

答案 1 :(得分:1)

您可以使用以下代码管理您的域名。

using System;
using Microsoft.WindowsAzure.Management.WebSites;
using Microsoft.WindowsAzure.Management.WebSites.Models;
using System.Security.Cryptography.X509Certificates;
using Microsoft.Azure;

namespace updateWebApp
{
    class Program
    {
        private static WebSiteManagementClient _WebSiteClient;
        private static String SubscriptionId = "<your subscription id>";
        private static X509Certificate2 cert = new X509Certificate2("E:/path/azure.cer");
        private static String webspace = "<your webspace name>";
        private static String websitename = "<your web site name>";

        static void Main(string[] args)
        {
            var credential = new CertificateCloudCredentials(SubscriptionId, cert);
            _WebSiteClient = new WebSiteManagementClient(credential);

            var web = _WebSiteClient.WebSites.Get(webspace, websitename, null).WebSite;

            web.HostNames.Add("www.example.com");

            var updates = new WebSiteUpdateParameters{
                HostNames = web.HostNames,
                ServerFarm = web.ServerFarm,
                State = web.State
            };

            _WebSiteClient.WebSites.Update(webspaces, websitename, updates);


            System.Console.WriteLine("Press ENTER to continue");
            System.Console.ReadLine();
        }
    }
}

这段代码只是添加了域名&#34; www.example.com&#34;使用ssl禁用您的网络应用程序。要使用我的代码,您需要执行以下操作。

  1. 创建证书并将其上传到Azure Classic Portal。

  2. 创建DNS记录,如here所述。

  3. 如果要启用ssl,还需要为WebSiteUpdateParameters设置HostNameSslStates。您需要Thumbprint和VirtualIp。