Лучший отвечающий
Как добавить несколько доменов к сайту в Ажуре?

Вопрос
-
Извините, не получилось восстановить прошлый аккаунт, но это снова я про сайт Web App.
Привязать домен удалось, но на будущее хотелось бы знать, как можно привязать несколько доменов. На сайте непонятно как это сделать? Спасибо
16 июня 2016 г. 12:56
Ответы
-
У вебаппов есть специальное поле, которое можно устанавливать, в т.ч. программным путем. Когда-то написал сниппет на C#, который добавляет в нужный вам веб-сайт дополнительные доменные имена. Попробуйте -
Что он делает - во-первых, вам нужен thumbprint из publish settings file - его можно загрузить на портале Azure. Для того, чтобы получить доступ.
Потом он проходит по всем вебаппам и показываем о них данные - для того, чтобы вы затем могли выбрать (если много веб-сайтов, это может быть затруднительно без удобного списка).
public const string base64EncodedCertificate = ""; public const string subscriptionId = ""; 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.WriteLine(o.Name); foreach (var d in o.HostNameSslStates) { Console.WriteLine(d.Name + "''''" + d.SslState); } return o; }).ToArray(); return p; }).ToArray(); Console.ReadLine(); var configuration = client.WebSites.Get("northeuropewebspace", "todeletewbp1", new WebSiteGetParameters()); configuration.WebSite.HostNames.Add("ahriman.ru"); configuration.WebSite.HostNameSslStates.Add(new WebSite.WebSiteHostNameSslState() { Name = "ahriman.ru", SslState = WebSiteSslState.SniEnabled, Thumbprint = "83DDA0A76FE70C8ADA87D5832CA964542DD923EA" }); WebSiteUpdateParameters dn = new WebSiteUpdateParameters(); var resp = client.WebSites.Update("northeuropewebspace", "todeletewbp1", new WebSiteUpdateParameters() {HostNames = configuration.WebSite.HostNames, HostNameSslStates = dn.HostNameSslStates }); Console.WriteLine(resp.StatusCode); Console.ReadLine(); }
- Изменено Alex BelotserkovskiyMicrosoft employee 16 июня 2016 г. 13:28
- Помечено в качестве ответа LearnAndLiveFast2 16 июня 2016 г. 14:41
16 июня 2016 г. 13:28
Все ответы
-
У вебаппов есть специальное поле, которое можно устанавливать, в т.ч. программным путем. Когда-то написал сниппет на C#, который добавляет в нужный вам веб-сайт дополнительные доменные имена. Попробуйте -
Что он делает - во-первых, вам нужен thumbprint из publish settings file - его можно загрузить на портале Azure. Для того, чтобы получить доступ.
Потом он проходит по всем вебаппам и показываем о них данные - для того, чтобы вы затем могли выбрать (если много веб-сайтов, это может быть затруднительно без удобного списка).
public const string base64EncodedCertificate = ""; public const string subscriptionId = ""; 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.WriteLine(o.Name); foreach (var d in o.HostNameSslStates) { Console.WriteLine(d.Name + "''''" + d.SslState); } return o; }).ToArray(); return p; }).ToArray(); Console.ReadLine(); var configuration = client.WebSites.Get("northeuropewebspace", "todeletewbp1", new WebSiteGetParameters()); configuration.WebSite.HostNames.Add("ahriman.ru"); configuration.WebSite.HostNameSslStates.Add(new WebSite.WebSiteHostNameSslState() { Name = "ahriman.ru", SslState = WebSiteSslState.SniEnabled, Thumbprint = "83DDA0A76FE70C8ADA87D5832CA964542DD923EA" }); WebSiteUpdateParameters dn = new WebSiteUpdateParameters(); var resp = client.WebSites.Update("northeuropewebspace", "todeletewbp1", new WebSiteUpdateParameters() {HostNames = configuration.WebSite.HostNames, HostNameSslStates = dn.HostNameSslStates }); Console.WriteLine(resp.StatusCode); Console.ReadLine(); }
- Изменено Alex BelotserkovskiyMicrosoft employee 16 июня 2016 г. 13:28
- Помечено в качестве ответа LearnAndLiveFast2 16 июня 2016 г. 14:41
16 июня 2016 г. 13:28 -
Получилось добавить, но пока не могу разобраться с SSL. Напишу если что позже16 июня 2016 г. 14:41