Несколько сайтов с поддержкой SSL на виртуальной машине Azure

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

Подходя к концу, я начал составлять контрольные списки того, что мне нужно было сделать, и я не могу найти ничего, что документировало бы использование нескольких SSL на одной виртуальной машине. Я наткнулся на несколько сообщений о SNI, но после прочтения SNI не поддерживает Windows XP. Изучив нашу пользовательскую базу, 1/3 наших пользователей получают доступ с компьютера с Windows XP, что делает SNI бесполезным.

Я что-то упускаю, поскольку это кажется серьезным упущением в архитектуре, если виртуальная машина не может поддерживать несколько сертификатов SSL?

У кого-нибудь есть что-нибудь работающее внутри Azure, поддерживающее несколько SSL на одном VIP-адресе?


person Chris Lomax    schedule 10.10.2012    source источник


Ответы (3)


Я согласен с Робертом.

Я технический евангелист Microsoft и недавно помог одному из моих партнеров внедрить решение автоматизации SNI для облачных сервисов (подробное объяснение и пример исходного кода «включай и работай» на http://www.vic)..ms/microsoft/windows-azure/multiples-ssl-certificates-on-windows-azure-cloud-services/).

Хотя многие статистические данные указывают на то, что Internet Explorer, работающий в Windows XP, актуален, в действительности он может быть не для вашей аудитории.

Например, если вы хотите использовать SSL, потому что у вас есть веб-сайт электронной коммерции, я уверен, что ваша аудитория (люди, у которых есть кредитная карта и которые хотят использовать ее для покупок в Интернете), вероятно, больше не используют Windows XP. По крайней мере, так обстоит дело с десятками моих партнеров по электронной коммерции в Бразилии...

person Vitor Ciaramella    schedule 04.04.2013
comment
Это не только IE на XP (которым до сих пор пользуются некоторые люди, иногда без выбора в корпоративном мире), есть также множество мобильных устройств, которые не поддерживают SNI. - person Bruno; 04.04.2013

AFAIK у вас есть следующий выбор:

  1. Используйте SNI с одним IP
  2. Настройте свои домены для использования нестандартных портов SSL
  3. Используйте один IP-адрес для каждого домена SSL.

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

Кстати: SNI есть только в WinXP и не поддерживается в IE. Другие браузеры, такие как Firefox, Chrome, Opera, поддерживают SNI в XP.

person Robert    schedule 10.10.2012
comment
К сожалению, мы креативное агентство с большим количеством клиентов, поэтому все домены будут разными. Просто проверив ваш комментарий для XP и IE, это 4/5 от 1/3, так что это все еще очень много. Это цифра, которую мы не можем игнорировать. Не могли бы вы уточнить пункт 2? Нужно ли мне убедиться, что я получаю доступ со страницы HTTPS, на которой я указываю порт? Я разочарован тем, что Microsoft запустила возможность иметь виртуальные машины, и они не поддерживают какую-либо привязку к нескольким IP. - person Chris Lomax; 10.10.2012
comment
Если вы хотите настроить несколько доменов SSL с одним IP-адресом без SNI, есть возможность использовать один порт для каждого домена. Но это было бы видно пользователям в адресной строке. И, кроме того, если пользователь хочет посетить domain1.example, который работает через порт 8443, но вводит URL напрямую domain.example вместо domain.example:8443 пользователь увидит предупреждение системы безопасности из-за несоответствия между DNS-именем и сертификатом, как на порт 443 управляет другим доменом. Следовательно, это ИМХО только решение для внутренних или тестовых серверов. - person Robert; 10.10.2012
comment
Да, я так и думал, спасибо, Роберт. На самом деле это огромная боль в заднице, поэтому я надеюсь, что Microsoft вытащит палец, прежде чем я буду готов выполнить полное развертывание на их серверах. Было бы лучше, если бы я мог переназначить соединение на основе отправленных заголовков, тогда я мог бы внутренне сопоставить другой порт, даже не знаю, возможно ли это, но я надеялся, что это то, что вы пытались получить. - person Chris Lomax; 10.10.2012
comment
Проблема общая - без SNI на сервер не отправляются заголовки, на основе которых можно было бы перенаправить трафик. Поэтому единственным решением было бы подождать, пока не снизится использование IE-XP. Возможно, вам следует попросить своих клиентов добавить баннеры для пользователей IE-XP, чтобы показать, что их браузер устарел и должен быть заменен... - person Robert; 10.10.2012
comment
Просматривая статистику, кажется, что это влияет только на пару сайтов. Возможно, мне придется создать 2 дополнительных кластера с балансировкой нагрузки для этих веб-сайтов, пока они не будут поддерживать несколько VIP. Я ценю ваш вклад, Роберт, спасибо. Кстати, я бы хотел, чтобы баннер был опцией, я думаю, что пользователь, использующий XP и IE, либо вынужден, либо даже не знает, что такое браузер. Однажды я изменил машину родственников, чтобы использовать Chrome по умолчанию, и они спросили, куда пропал интернет. Даже объяснение не помогло, пришлось снова включить IE. - person Chris Lomax; 10.10.2012
comment
Другое решение — использовать один сертификат с несколькими SAN. Это похоже на использование группового сертификата, но может работать с несвязанными доменами. Однако процедура получения такого сертификата (с несвязанными доменами) из ЦС может быть утомительной. - person Bruno; 04.04.2013

Теперь вы можете иметь несколько общедоступных виртуальных IP-адресов на виртуальной машине Azure, поддерживающих несколько SSL, по цене около 3 долларов США в месяц. См. цены и howto.

person Joao Leme    schedule 30.07.2016
comment
Эта модель работает, если вы не против разместить ее за облачной службой и иметь внутренние порты для управления различными привязками SSL. Это отлично работает в IIS, поскольку вы сами управляете настройкой, но у нас установлена ​​cPanel, и это головная боль при попытке настроить разные порты в cPanel. Кроме того, все управление осуществляется через Powershell, поскольку в настоящее время они не поддерживают все это через интерфейс Azure. Это несложная задача, но гораздо страшнее коммитить что-то через Powershell и надеяться, что это не приведет к падению всего кластера, чем через интерфейс. - person Chris Lomax; 01.08.2016