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

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

Дано: два имени DNS, которые указывают на одну машину: «mysrv» и «myapp.mysrv». У этого аппарата два IP-адреса (1.1.1.1 и 1.1.1.2).

Мне нужно настроить IIS7 на 1.1.1.1 для myapp.mysrv и TomCat для 1.1.1.2 для mysrv.
Мне нужен сервер, обслуживающий два ресурса (mysrv и myapp.mysrv) на 80 порте.

Что я сделал: в конфигурации TomCat (server.xml) я добавляю атрибут 'address' к элементу Connector:

<Connector className="org.apache.coyote.tomcat4.CoyoteConnector" port="80" minProcessors="5"
           address="1.1.1.2"
           maxProcessors="75"
           enableLookups="false" redirectPort="8443" acceptCount="10" />

и

<Engine name="Standalone" defaultHost="mysrv" debug="0">
    <Host name="mysrv" debug="0" appBase="webapps" unpackWARs="true" autoDeploy="false">

Затем в диспетчере IIS я создаю сайт и устанавливаю для него привязку как: Type = http; Host Name = myapp.srv; Port = 80; IP-адрес = 1.1.1.1

Но когда я пытаюсь запустить сайт, я получаю две ошибки (в журнале событий): 1. Служба публикации в Интернете (служба WWW) не зарегистрировала префикс URL. http: //myapp.mysrv: 80: 1.1.1.1/ для сайта 2. Сайт отключен. Поле данных содержит номер ошибки.

2. Невозможно выполнить привязку к базовому транспорту для [::]: 80. Список IP-адресов только для прослушивания может содержать ссылку на интерфейс, который может не существовать на этом компьютере. Поле данных содержит номер ошибки.

По умолчанию IIS привязывается к порту 80 на всех IP-адресах машины. Чтобы отключить это поведение в IIS 7, выполните следующую команду, подставив IP-адрес, который IIS должен прослушивать:

netsh http add iplisten ipaddress=xxx.xxx.xxx.xxx

Вам необходимо перезапустить IIS, чтобы изменения вступили в силу.

Попробуйте сделать:

httpcfg set iplisten -i 1.1.1.1:80

из командной строки. Это может быть пул сокетов ... IIS хочет прослушивать все IP-адреса по умолчанию (как сказал Эван), поэтому он вызывает приступ, когда Tomcat забирает один из них.