Примерно чуть больше полугода назад пришлось мне на один сервер установить веб сервер Apache и IIS6. По началу, я сказал: раз плюнуть (разведём веб сервера по разным IP адресам и дело в шляпе). Но не тут-то было...
Основная цель в том, что бы оба веб сервера сидели на 80 порту. Так как на днях мне пришлось выполнить этот трюк ещё раз, то решил рассказать о нем подробнее. Начну с самого начала: имеется сервер на котором установлена Windows 2003 и 2 сетевые карточки. На каждую карточку прописан свой IP адрес.
Задача простая:
- IIS должен сидеть на одном IP и слушать 80-й порт.
- Apache должен сидеть на другом IP и тоже слушать 80-й порт.
Вот тут-то и начинаются грабли. Дело в том, что IIS сервер, по умолчанию, делает binding (привязку) ко всем IP адресам которые видны в системе. Даже если пройтись по всем установкам IIS и везде принудительно прописать один IP адрес, этого будет не достаточно.
Решить эту проблему поможет нам утиллита Httpcfg.exe из файла Support.cab, находящегося в директории Support\Tools оригинального диска диске Windows Server 2003.
Теперь пару слов о том, как работать с Httpcfg.exe. Есть одна маленькая особенность. Если у вас на сервере есть больше двух IP адресов, и вы хотите, что бы ваш IIS слушал сразу по нескольким адресам, то надо будет прописать каждый адрес.
Для определения на каком IP будет работать IIS, выходим в командную строку и запускаем:
httpcfg set iplisten -i xxx.xxx.x.x
Где xxx.xxx.x.x — IP адрес на котором будет работать IIS. Если всё прошло нормально, то система выдаст следующий результат:
HttpSetServiceConfiguration completed with 0
Что-бы проверить результат запускаем:
httpcfg query iplisten
После выполнения данной процедуры, выполняем следующую команду:
net stop http /y
и
net start w3svc
Все, теперь наш IIS работает только на том IP адресе, который мы ему выделили. В свою очередь, в конфигурационном файле Apache (httpd.conf) настраиваем, что бы он работал по другому IP. Настройка должна выглядеть примерно так:
Listen 194.90.1.5:80
Все, теперь можно и кофе выпить.
По материалам сайта: Трюки Админа