Хорошие новостиTM: есть небольшое, но важное развитие сюжета из этого поста, где много букв и долгая история, которая могла отвлечь часть целевой аудитории от необходимости проверить и исправить настройки. После вливания освежающих пул-запросов была обновлена официальная документация, показывающая, как правильно настраивать SSL в веб-ролях Microsoft Azure — один и два. Исправлена серьезная ошибка в примерах настроек.
Если вы разрабатываете или сопровождаете облачный сервис с веб-ролью, самое время проверить, что настройки SSL указаны правильно и вас не настигнет в самый неподходящий момент волна недовольства пользователей, у которых КРАЙНЕ НЕОЖИДАННО без ясных причин перестало устанавливаться защищенное соединение с вашим сервисом.
До исправления раздел «сертификаты» в примере настроек выглядел приблизительно так:
<Certificates>
<!--НЕПРАВИЛЬНО!!! Не надо так!!!-->
<Certificate name="ProductionCert"
storeLocation="LocalMachine" storeName="My"/>
</Certificates>
Использование таких настроек — с указанием только сертификата сервиса — распространенная ошибка, в предыдущем посте очень подробно объяснены возможные последствия.
TL;DR При эксплуатации сервисов используют сертификаты, выданные так называемыми центрами сертификации, такие сертификаты подписаны не непосредственно корневым сертификатом центра, а промежуточным сертификатом (а промежуточный – в свою очередь подписан корневым сертификатом). Настройки выше приводят к установке в хранилища экземпляров сервиса только сертификата самого сервиса, но не промежуточных сертификатов.
Для надежной работы необходимо также обеспечить установку промежуточных сертификатов:
<Certificates>
<!--Так правильно! -->
<Certificate name="IntermediateForProductionCert"
storeLocation="LocalMachine" storeName="CA"/>
<!--Если в цепочке более одного промежуточного
сертификата, перечислить нужно все-->
<Certificate name="ProductionCert"
storeLocation="LocalMachine" storeName="My"/>
</Certificates>
После исправлений официальная документация показывает примеры правильных настроек.
Пользуйтесь на здоровье и не огорчайте
Дмитрий Мещеряков,
департамент продуктов для разработчиков
Поделиться с друзьями