Pull to refresh
0
Microsoft
Microsoft — мировой лидер в области ПО и ИТ-услуг

Настройка SSL для приложения в Windows Azure

Reading time4 min
Views4.9K
image

Протокол шифрования SSL (Secure Socket Layer) — это самый распространенный способ защиты данных в Интернете. В этом примере будет показано, как задать конечную точку HTTPS для веб-роли и загрузить SSL-сертификат для защиты приложения.

Этот процесс включает в себя следующие этапы:

  • Этап 1. Получите SSL-сертификат
  • Этап 2. Измените определение службы и файлы конфигурации
  • Этап 3. Загрузите пакет развертывания и сертификат
  • Этап 4. Подключитесь к экземпляру роли по протоколу HTTPS

Этап 1. Получите SSL-сертификат


Чтобы настроить протокол SSL для приложения, сначала необходимо получить SSL-сертификат, подписанный уполномоченным и независимым Центром сертификации. Если у вас еще нет SSL-сертификата, приобретите его у компании, которая их продает.

SSL-сертификат в Windows Azure должен отвечать следующим требованиям:

  • Содержать закрытый ключ;
  • Поддерживать обмен ключами (файл .pfx);
  • Имя получателя в сертификате должно соответствовать домену, из которого осуществляется доступ к службе. Получить SSL-сертификат для домена cloudapp.net невозможно, поэтому имя получателя в сертификате должно совпадать с именем домена, через который вы предоставляете доступ к приложению;
  • Сертификат должен использовать шифрование с ключом 2048 бит и выше.

Вы можете создать самоподписанный сертификат для тестирования. Подробнее о том, как создать самоподписанный сертификат в диспетчере IIS, см. в разделе «Как создать сертификат для роли».

Затем необходимо добавить информацию о сертификате в определение службы и ее файлы конфигурации.

Этап 2. Измените определение службы и файлы конфигурации


Необходимо настроить приложение на использование сертификата и добавить конечную точку HTTPS. В результате определение и файлы конфигурации службы потребуется обновить.

Откройте файл определения службы (CSDEF) в среде разработки, добавьте подраздел Certificates в разделе WebRole, а затем укажите следующую информацию о сертификате:

<WebRole name="CertificateTesting" vmsize="Small">
...
    <Certificates>
        <Certificate name="SampleCertificate" storeLocation="LocalMachine" 
            storeName="CA" />
    </Certificates>
...
</WebRole>

В подразделе Certificates задайте имя сертификата, его местоположение, а также название магазина, в котором он находится. В этом примере сертификат хранится в Центре сертификации, но вы можете выбрать и другое расположение. Дополнительную информацию можно найти в разделе «Как связать сертификат со службой».

Откройте файл определения службы и добавьте элемент InputEndpoint в раздел Endpoints, чтобы включить использование HTTPS:

<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>

Теперь все необходимые изменения в файл определения службы внесены. Осталось добавить информацию о сертификате в файл конфигурации службы.

Откройте файл конфигурации службы (CSCFG) и добавьте подраздел Certificates в раздел Role, заменив указанный ниже отпечаток на соответствующее значение из своего сертификата:

<Role name="Deployment">
...
    <Certificates>
        <Certificate name="SampleCertificate" 
            thumbprint="9427befa18ec6865a9ebdc79d4c38de50e6316ff" 
            thumbprintAlgorithm="sha1" />
    </Certificates>
...
</Role>

После обновления файлов определения и конфигурации службы создайте установочный пакет приложения и загрузите его в Windows Azure. Если вы используете инструмент cspack, убедитесь, что флаг /generateConfigurationFile отключен, иначе указанная вами информация о сертификате будет перезаписана.

Этап 3. Загрузите пакет развертывания и сертификат


В установочном пакете используется правильный сертификат, и конечная точка HTTPS добавлена. Теперь можно загрузить пакет и сертификат в Windows Azure через Портал управления.

Войдите в Портал управления Windows Azure и откройте раздел Hosted Services. Щелкните New Hosted Service, введите необходимую информацию о своей службе и нажмите Add Certificate.

clip_image002

В разделе Upload Certificates укажите путь к файлу SSL-сертификата (.pfx) и пароль на сертификат, а затем нажмите OK.

clip_image004

Для создания службы нажмите кнопку OK. Когда отобразится состояние Ready, переходите к следующему шагу.

Этап 4. Подключитесь к экземпляру роли по протоколу HTTPS


После развертывания и запуска приложения в Windows Azure необходимо подключиться к нему по HTTPS.

В Портале управления выберите свое приложение, щелкните правой кнопкой мыши ссылку с именем DNS на панели Properties и выберите Copy.

clip_image006

Вставьте этот адрес в окно веб-браузера, убедитесь, что адрес начинается с https, а не http, и перейдите на страницу.

Браузер отобразит адрес зеленым цветом, уведомляя о том, что используется соединение по HTTPS. Это также означает, что приложение корректно работает с SSL.

Примечание. Если вы используете самоподписанный сертификат, то при подключении к конечной точке HTTPS, связанной с самоподписанным сертификатом, браузер отобразит ошибку. Вы можете решить эту проблему, подписав сертификат в уполномоченном центре, либо просто игнорировать ее.

clip_image008

Дополнительные ресурсы
Tags:
Hubs:
+8
Comments0

Articles

Information

Website
www.microsoft.com
Registered
Founded
Employees
Unknown
Location
США