Azure - работа с SSL в поэтапном развертывании - PullRequest
5 голосов
/ 29 апреля 2011

У меня есть веб-приложение, размещенное в Windows Azure. Мы хотим использовать SSL для производственного развертывания, и у нас есть собственное доменное имя и SSL-сертификат для домена, и все это правильно настроено и работает в рабочей среде.

В настоящее время веб-роль имеет конечную точку HTTP и HTTPS, но мы хотели бы отключить конечную точку HTTP и просто использовать HTTPS в рабочей среде.

Если мы удалим конечную точку HTTP, у меня возникнет вопрос: как лучше всего работать с конечной точкой HTTPS для промежуточного развертывания в Azure? Каждый раз, когда вы выполняете новое промежуточное развертывание в Azure, оно дает вам новое временное доменное имя для службы. В процессе подготовки, мы должны просто не использовать сертификат SSL вообще, и просто пропустить все предупреждения браузера, или есть способ использовать SSL при подготовке, когда имя домена изменяется при каждом развертывании? Или когда мы перейдем к производству, есть ли способ просто «отключить» (HTTP) конечную точку в развертывании Azure?

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

Ответы [ 3 ]

9 голосов
/ 29 апреля 2011

Для одного из наших проектов мы используем модуль перезаписи URL , который устанавливается по умолчанию в Azure.Работает отлично.В разделе web.config весь HTTP-трафик автоматически перенаправляется в HTTPS:

<rule name="HTTP to HTTPS redirect" stopProcessing="true">
  <match url="(.*)" />
    <conditions>
      <add input="{HTTPS}" pattern="off" ignoreCase="true" />
    </conditions>
  <action type="Redirect" redirectType="Found" url="https://{HTTP_HOST}/{R:1}" />
</rule>

Для промежуточной среды лучше использовать тот же сертификат, что и для производства.Это позволяет легко выполнить горячую замену между производством и подготовкой, и вы можете проверить в своем браузере, что сертификат является правильным.Недостатком является то, что вам придется нажимать «продолжить на веб-сайте» во время тестирования промежуточного развертывания.

Обратите внимание, что, хотя модуль перезаписи URL-адреса всегда доступен в Azure, для DevFabric вам придется загрузить и установить его на своем устройстве разработчика.Загрузка доступна на http://www.iis.com.

1 голос
/ 29 апреля 2011

Мы сохраняем порты 80 и 443 открытыми при производственном и промежуточном развертывании, но мы используем пользовательский HttpModule для перенаправления HTTP-трафика в HTTPS на основе параметра конфигурации Azure. Если значение конфигурации равно «Производство», весь трафик передается по HTTPS. В противном случае трафик HTTP и HTTPS обрабатывается. Это было важно для нас, потому что мы не хотели, чтобы наши пользователи были сбиты с толку, когда запросы HTTP были отклонены только потому, что они забыли добавить префикс URL к https: //. Есть ли конкретная причина, по которой вам нужно отключить конечную точку HTTP?

1 голос
/ 29 апреля 2011

Для этого сценария мы создали 2 различных развертывания службы в Azure, каждая из которых имеет свою среду Production \ Staging.Следовательно, мы используем экземпляр Production в обеих службах, который сохраняет статический URL-адрес.
Не происходит горячей замены между развертываниями служб, но когда сборка продвигается из одного из развертываний службы, она устанавливается во вторые службы, и развертывание развертыванияи тогда горячая замена сделана.Надеюсь, я все прояснил.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...