Тестирование SSL с несколькими сайтами с поддержкой SSL в IIS
Я разработал приложение ASP.NET, которое должно запускаться несколько раз на моей машине (IIS7). Мне нужно настроить SSL для каждого экземпляра, но я теряю возможность привязки к определенному имени хоста (эта опция доступна только при обычном HTTP). Итак, как мне различать экземпляры?
Если я пытаюсь добавить более 1 привязки SSL, я получаю сообщение об ошибке "По крайней мере один другой сайт использует такую же привязку HTTPS, и привязка настроена с другим сертификатом (...)".
Что делать?
2 ответа
Информация об имени хоста является частью заголовка http, который зашифрован (и дешифрован) с помощью SSL, поэтому для того, чтобы иметь несколько SSL-сайтов, вам нужно сделать либо:
- Используйте подстановочный сертификат на всех веб-сайтах и используйте заголовок узла для маршрутизации к правильному: Пример: сертификат для сайтов *.foo.com: bar.foo.com и main.foo.com и void.foo.com
Или привязать каждый сертификат к своему собственному IP
Или... Использовать SSL-терминацию с ускорительного устройства (ISA Server и т. Д.)
Вопрос был специально для IIS 7, однако в IIS 8 появилась новая функция, которая работает с современными браузерами, называемая SNI, которая может помочь с этим.