Как стать автором
Поиск
Написать публикацию
Обновить

Настройка Let's Encrypt на Microsoft Azure

Время на прочтение3 мин
Количество просмотров7.2K
Долго искал, как безболезненно настроить SSL сертификат от Let's Encrypt на Microsoft Azure. В рунете с этим оказались проблемы, но на просторах большого интернета нашлась очень и очень годная статья, по которой мне удалось настроить это шайтанство. Думаю, для новичков, у которых проблемы с иностранными языками (бывает такое, но все мы учимся), перевод статьи пригодится.

image

Итак, начнем.

1. Сервисный план обслуживания нашего веб-приложения на Azure должен быть не ниже «Стандартного» (проще говоря, любой, кроме Basic — Базового).

image

2. Свой домен. Для настройки SSL сертификата необходим кастомный домен, который можно прикрутить в меню «Пользовательские домены» в панели настроек своего приложения. Настроить SSL сертификат для домена, подобного .azurewebsites.net нельзя.



Магия
Следующие два пункта я плохо понимаю, но и без них работает замечательно. Но это у меня, как будет работать у вас — не знаю, поэтому, если кто в курсе, что это такое и с чем его едят — буду рад и добавлю в статью.

3. Создаем аккаунт хранилища данных. Подробно описано в этой статье, но она на англ. языке. По-простому: . Создаем.

4. Настраиваем

5. Настраиваем доступ к нашим службам

Устанавливаем и запускаем PowerShell от имени администратора. Устанавливаем AzurePowerShellModule

# Install the Azure Resource Manager modules from the PowerShell Gallery
  Install-Module AzureRM

  # Install the Azure Service Management module from the PowerShell Gallery
  Install-Module Azure

# To make sure the Azure PowerShell module is available after you install
  Get-Module -ListAvailable Azure*

 Import-Module "C:\Program Files\WindowsPowerShell\Modules\Azure\XXXX\azure.psd1"
  Import-Module "C:\Program Files\WindowsPowerShell\Modules\Azure\XXXX\expressroute\expressroute.psd1"

Логинимся в Azure

Login-AzureRmAccount

Задаем логин-пароль для дальнейшей авторизации приложения Let's Encrypt:

$uri = 'http://{some random name}'
$password = '{some strong password}'

Выполняем несколько магических комманд)))

$app = New-AzureRmADApplication -DisplayName {some display name} -HomePage $uri -IdentifierUris $uri -Password $password

New-AzureRmADServicePrincipal -ApplicationId $app.ApplicationId

New-AzureRmRoleAssignment -RoleDefinitionName Contributor -ServicePrincipalName $app.ApplicationId

$app.ApplicationId

Теперь у нас есть
ClientSecret = $password
ClientID = ApplicationID
Запомним их.

Установка Let's Encrypt

Идем в SCM консоль (https://{your site name}.scm.azurewebsites.net), переходим в раздел Расширения(Site Extentions), выбираем пункт «Галерея» и ищем там модуль Let's Encrypt Azure. Устанавливаем!

image

После установки модуля перезапускаем сайт (кнопка Restart Site), и запускаем модуль. Теперь нам осталось его настроить.

image

Заполняем поля:

letsencrypt:Tenant
letsencrypt:SubscriptionId
letsencrypt:ClientId
letsencrypt:ClientSecret
letsencrypt:ResourceGroupName

Следующим образом:

image

letsencrypt:Tenant с метки #1.
letsencrypt:SubscriptionId из метки #2
letsencrypt:ResourceGroupName из метки #3
letsencrypt:ClientId = наш ClientID, который мы помним
letsencrypt:ClientSecret = наш ClientSecret, который мы помним и никому не говорим

Теперь, в настройках приложения на портале Azure должны быть видны настройки нашего расширения:

image

Довольные собой, в SCM консоли смело жмякаем «Next» и идём выпускать сертификат.
Тут все просто — из выпадающего меню выбираем домен, для которого выпускаем сертификат, и указываем почту, какую хотим.

image

Заканчиваем настройку, на всякий случай перезапускаем сайт (это же Microsoft! Переустановка часто помогает от зависаний, багов, гайморита и простого чиха).

Если все прошло хорошо — поздравляем, теперь у вас есть бесплатный SSL сертификат, котируемый почти всеми браузерами.

image

И это еще не все!

К сожалению, не удалось это проверить (так как настраивал все на днях и срок перевыпуска домена еще не настал), но предполагается, что сертификат автоматически перевыпустится, когда истечет срок его действия. В любом случае, зайти и перевыпустить сертификат можно буквально одним нажатием кнопки, но предполагается (и я искренне на это надеюсь), что перевыпуск сертификата уже настроен.

image

P.S. Знающих людей прошу поделиться недостающей информацией, чтобы статья была более полной.
Теги:
Хабы:
Всего голосов 15: ↑14 и ↓1+13
Комментарии2

Публикации

Ближайшие события