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

IIS SSL принимает все IP-адреса, хотя ему запрещается

У меня есть тестовая система, в которой 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 только для определенных адресов.

Настройка IIS7 и TomCat на одной машине с несколькими IP