К сожалению, в Chrome 57 сертификаты, выданные STARTSSL, перестали быть валидными. Таким образом, пришло время переходить на Let’s Encrypt , как единственный источник бесплатных сертификатов.
Что необходимо для этого?
- Сервисный план обслуживания нашего веб-приложения в Azure должен быть не ниже «Стандартного»
- URL-адрес приложения должен содержать ваш домен, а не технический домен Azure .azurewebsites.net
- В Powershell на Windows 10 выполняем команду Install-Module AzureRM. Для остальных компьютеров используем инструкции на https://www.powershellgallery.com/ , скачивая последнюю версию Windows Management Framework и модуль для включения функции PackageManagement в PowerShell.
- Скачиваем и запускаем скрипт, доступный по адресу https://github.com/Microsoft/vsts-rm-documentation/blob/master/Azure/SPNCreation.ps1 После запуска скрипт спрашивает имя подписки (subscription name)— вводим то, которое у вас используется для публикации сайта. В моем случае это:
- После требуется ввести пароль. Создаем новый, который будет использоваться для будущего приложения. Далее запросится учетная запись и пароль для доступа в Microsoft Azure .
- Если всё ввели правильно на предыдущем шаге, то создастся новое веб-приложение и после строк «SPN role assignment completed successfully» будут данные для подключения к этому приложению. Скопируем их куда-нибудь себе.
Устанавливаем приложение Let’s Encrypt , для этого зайдя в консоль SCM по адресу https://{your site name}.scm.azurewebsites.net/SiteExtensions/#gallery и устанавливаем там приложение «Azure Let’s Encrypt» 32-ух битной разрядности и после этого нажимаем «Restart Site«.
Название сайта можно увидеть в консоли Azure.
Поэтому у меня ссылка на консоль SCM выглядит как https://www-onix-me.scm.azurewebsites.net/SiteExtensions/#gallery- Запускаем «Azure Let’s Encrypt»: далее нам потребуется заполнить несколько полей:
Tenant — это Tenant ID из 6 шага.
SubscriptionId — это Subscription Id из 6 шага
ClientId — это Service Principal Id из 6 шага
ClientSecret — это тот пароль, который спрашивается в самом начале запуска скрипта из 5 шага.
ResourceGroupName и ServicePlanResourceGroupName — это Default-Web-NorthEurope , то есть там, где расположены мои ресурсы в Azure, у вас может быть другое наименование. Нажимаем галочку «Update Application Settings» и нажимаем «Next». - Если всё было сделано правильно, то на следующем шаге появится возможность выбрать название хоста и прописать почтовый адрес администратора. Ставим галочку «Use Staging«, чтобы была возможность еще раз запросить сертификат, в случае, если мы с первого раза не справимся.
- Спустя несколько мгновений сертификат будет установлен на хостинге. Остается в админке Azure привязать его к сайту.
- Если требуется доступ к сайту только по безопасному протоколу, то не забываем включить «HTTPS Only» в Azure
- Остается только в WordPress включить доступ только по HTTPS, для этого заходим по FTP на сайт и меняем файл wp-config.php в корне сайта: вместе «http» прописываем «https»