У меня есть тестовая система, в которой IIS Express на веб-сайте SSL Windows 7 должен работать вместе с веб-сайтом SSL FTP-сервера Cerberus (Cerberus FTP имеет встроенный веб-сервер для загрузки HTTP).
Я настроил Windows на использование двух IP-адресов от моего маршрутизатора
В IIS я установил привязку веб-сайта для использования только IP 192.168.1.128. Но все равно при запуске Cerberus он говорит - не могу привязать 192.168.1.129:443.
Я тестировал в Firefox - действительно, когда я перехожу на 192.168.1.129 (или даже на localhost), я получаю не страницу «Невозможно подключиться», как ожидалось, а вместо этого «Соединение было сброшено». IIS по-прежнему занимает эти IP-адреса, хотя не обслуживает веб-сайт на этих IP-адресах.
Когда я останавливаю веб-сайт IIS, веб-сайт Cerberus FTP запускается без проблем. Но тогда я не могу запустить веб-сайт IIS, он сообщает: «Процесс не может получить доступ к файлу, потому что он используется другим процессом».
Почему веб-сайт IIS SSL по-прежнему занимает все IP-адреса?
Потому что IIS - это профессиональный инструмент, который старается быть эффективным.
Он выполняет ОДНУ привязку ко ВСЕМ адресам для номера порта, а затем сортирует вещи внутри привязки.
Ты не хочешь этого? Установите DisableSocketPooling.
http://support.microsoft.com/kb/892847
или лучше
http://msdn.microsoft.com/en-us/library/cc307219(VS.85).aspx
По сути, IIS использует http.sys - который должен показывать любой серьезный инструмент, так что позор в сторону Cerberus за игнорирование основных механизмов Windows - и вы должны указать http.sys только для определенных адресов.