Multi SSL на IIS

Допустим у нас есть два сайта site01.com и site02.com на одном IISе. Мы создали самоподписанный сертификат, однако в привязках мы видим что его можно “прицепить” только к IP машины и определенному порту 443. Естественно это стандартный порт SSL и менять его крайне глупо – вы же не хотите чтобы клиент вместо https://site01.com набирал что то вроде site01.com:445, ну и работать это нормально вряд ли будет.

Но оказывается все не так уж плохо если вас не забанили в Гугле, и есть одна маленькая хитрость как сделать кучу сайтов (то бишь доменных привязок) на одном IISе, и все просто. И даже не просто, а очень просто:

  1. Создаем (покупаем) сертификат
  2. Добавляем его на IIS (корень консоли IIS вкладка Сертификаты)
  3. и немного магии, запускаем консоль (Пуск->CMD) и пишем там следующее:
    %systemroot%\system32\inetsrv\AppCmd.exe set site /site.name:"site01" /+bindings.[protocol='https',bindingInformation='*:443:site01.com']
    %systemroot%\system32\inetsrv\AppCmd.exe set site /site.name:"site02" /+bindings.[protocol='https',bindingInformation='*:443:site02.com']

Подробнее по п.3:

  • %systemroot%\system32\inetsrv\AppCmd.exe это Командная консоль IIS, обычно она расположена как описано, но возможно у вас базируется в другом месте.
  • site.name:”site02″ соответственно имя сайта (как он обзывается у вас в IISе)
  • и самое вкусное: /+bindings.[protocol=’https’,bindingInformation=’*:443:site01.com’] вот эта магическая строка обеспечивает привязку  к домену:порту, а не к IP:port.