Содержание:
Прежде чем начать устанавливать сертификат SSL на Microsoft Azure, нужно выполнить следующие действия:
- Купите или продлите сертификат SSL
- Сгенерируйте CSR с алгоритмом SHA-2
- Сохраните на вашем сервере CSR и приватный ключ
- Обратитесь за выдачей сертификата SSL
- Предоставьте документы для получения сертификата SSL, которые требует центр сертификации (только при проверке организаций и расширенной проверке)
Шаг 1: скачайте файлы сертификата SSL
Когда вы отправили документы в центр сертификации, там их проверяют и принимают, если все они удовлетворяют требованиям. После этого на вашу электронную почту отправляется сертификат SSL. Скачайте файл сертификата и сохраните на веб-сервере.
Шаг 2: обновите определение службы и файлы конфигурации
Для успешного применения SSL в приложении Azure нужно добавить конечную точку HTTPS. Для этого необходимо обновить определение службы и конфигурационные файлы.
- Откройте файл определения службы Service Defecation (CSDEF) в среде разработки.
- Здесь нужно добавить новый раздел Certificate в секции WebRole. Для этого добавьте следующий код:
<WebRole name="CertificateTesting" vmsize="Small"> ... <Certificates> <Certificate name="SampleCertificate" storeLocation="LocalMachine" storeName="GeoTrust" permissionLevel="limitedOrElevated" /> <!-- Instruction - Here you also need to add the Intermediate SSL Certificate. --> <Certificate name="CAForSampleCertificate" storeLocation="LocalMachine" storeName="GeoTrust" permissionLevel="limitedOrElevated" /> </Certificates> ... </WebRole>
Здесь атрибут PermissionLevel обладает двумя значениями, limitedOrElevated или elevated. Выбирайте нужный вам.
- limitedOrElevated означает, что приватный ключ доступен для всех процессов
- elevated означает, что приватный ключ доступен только для процессов с повышенными привилегиями
Раздел Certificate отображает название и путь к файлу основного сертификата.
- Добавьте раздел InputEndpoint в секцию Endpoints при помощи следующего кода:
<WebRole name="CertificateTesting" vmsize="Small"> ... <Endpoints> <InputEndpoint name="HttpsIn" protocol="https" port="443" certificate="SampleCertificate" /> </Endpoints> ... </WebRole>
Теперь добавьте раздел Binding в секцию Sites. Это добавит привязку HTTPS для конечной точки и вашего сайта.
<WebRole name="CertificateTesting" vmsize="Small"> ... <Sites> <Site name="Web"> <Bindings> <Binding name="HttpsIn" endpointName="HttpsIn" /> </Bindings> </Site> </Sites> ... </WebRole>
Добавьте раздел Certificate в секции Role при помощи следующего кода:
<Role name="Deployment"> ... <Certificates> <Certificate name="SampleCertificate" thumbprint="9427befa18ec6865a9ebdc79d4c38de50e6316ff" thumbprintAlgorithm="sha2" /> </Certificates> ... </Role>
Здесь нужно поменять значение thumbprint на данные вашего сертификата.
- Сохраните файл конфигурации.
Шаг 3: загрузка установочного пакета и сертификата
- Войдите в аккаунт Microsoft Azure здесь.
- Нажмите на Новый > Облачный сервис > Кастомный.
- Появится диалог Создать облачный сервис, куда нужно добавить URL-адрес, регион и подписку. Не забудьте выделить Установить пакет облачного сервиса сейчас.
- Нажмите на кнопку Далее.
- В диалоговом окне Опубликовать ваш облачный сервис добавьте требуемые детали облачного сервиса. В качестве окружения выберите Production, выделите Добавить сертификаты сейчас.
- Для отдельного экземпляра выделите Развернуть, даже если одна или несколько ролей содержат отдельный экземпляр.
- Нажмите на кнопку Далее.
- Появится диалог Добавление сертификата. Здесь найдите файл вашего сертификата SSL и введите нужный пароль, затем нажмите Прикрепить сертификат.
- Теперь ваш файл сертификата SSL появится на вкладке Прикреплённые сертификаты.
- Чтобы создать облачный сервис, нажмите на кнопку Завершить. Когда будет статус Ready, можно перейти к следующему шагу.
Шаг 4: подключение экземпляров ролей при помощи HTTPS
Когда появился статус Ready, можно подключать Azure при помощи HTTPS.
- На портале управления Azure Management выберите ваш комплект и нажмите на ссылку на сайт под SITE URL.
- Если ссылка без HTTP, отредактируйте её с HTTPS и запустите снова.