Назад | Перейти на главную страницу

Почему этот заголовок хоста переходит на другой сайт?

У меня два сайта: Prod и Train

В моем файле hosts у меня есть две записи:

xxx.xx.xxx.xxx    prod.site.com  
xxx.xx.xxx.xxx    train.site.com

У меня есть два отдельных веб-сайта, настроенных в IIS7, Prod и Train.

Сайт Prod имеет следующие привязки:

http   Prod   80   *
https         443  *

На сайте Train есть:

http   Train  80   *

http: // работает для train, но не для prod (для которого включен флаг SSL), а https: // работает для обоих, за исключением того, что https://train.site.com загружает рабочий сайт вместо обучающего.

Это наверное глупый вопрос, но как мне изменить привязки, чтобы https://train.site.com не работает или хотя бы перенаправляет на http: //? Если кто-то случайно наберет https: //, я не хочу, чтобы он начал возиться с рабочим сайтом, думая, что он проходит обучение.

У меня есть смутное представление о том, почему он это делает, но не знаю, как это исправить, не нарушая производства.

Ваш prod site принимает все https-соединения на всех IP-адресах и обслуживает их независимо от заголовка хоста, представленного клиентом.

Чтобы изменить эту привязку так, чтобы она принимала только соединения с правильным заголовком хоста, вам нужно отключить инструменты командной строки IIS. Удалите существующую привязку https, которая принимает все запросы, затем запустите что-то вроде этого в командной строке (с эскалацией UAC), заменив мое предположение об имени сайта IIS на правильную информацию:

cd \windows\system32\inetsrv
appcmd set site /site.name:"prod" /+bindings.[protocol='https',bindingInformation='*:443:prod.site.com']