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

IIS жалуется на использование порта, когда это не так.

Мне нужно оживить приложение, чтобы оно могло быть безопасно заархивировано третьей стороной, прежде чем оно будет прекращено.

Чтобы сделать это, не подвергая опасности весь сервер, я хочу заставить пользователя пройти аутентификацию перед подключением, что означает требование TLS.

К сожалению, порт 443 на этом сервере (xxx.xxx.xxx.120) занят другим приложением (почтовой веб-системой, использующей собственный HTTP-сервер), поэтому я добавил новый общедоступный IP-адрес на сервер (xxx.xxx.xxx .120) и добавили привязку в IIS для порта 443 на этом новом IP:

Я также убедился, что другое приложение НЕ привязано к 0.0.0.0:443, а использует конкретный IP-адрес.

Наконец я побежал netstat -ano | find ":443" и получил это:

TCP    xxx.xxx.xxx.120:443     0.0.0.0:0              LISTENING       3016
TCP    xxx.xxx.xxx.120:443     0.0.0.0:0              LISTENING       3016

xxx.xxx.xxx.120 - начальный IP-адрес сервера, новый - xxx.xxx.xxx.122.

Для удобства я также побежал netstat -aon | Find "xxx.xxx.xxx.122:443" (новый IP) и ничего не получил обратно, как и ожидалось.

К сожалению, когда я пытаюсь запустить веб-приложение, я получаю следующее сообщение об ошибке:

IIS выдает эту ошибку, если IP: порт, к которому он пытается привязаться, занят, но netstat четко сообщает, что он доступен.

Что мне не хватает?

Редактировать: Когда я пытаюсь запустить службу, в журнале системных событий регистрируются два события:

Log Name:      System
Source:        Microsoft-Windows-IIS-W3SVC
Date:          7/19/2014 11:59:44 AM
Event ID:      1004
Task Category: None
Level:         Error
Keywords:      Classic
User:          N/A
Computer:      xxxx
Description:
The World Wide Web Publishing Service (WWW Service) did not register the URL prefix https://XXX.XXX.XXX.122:443/ for site 2. The site has been disabled. The data field contains the error number.
Event Xml:
<Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
  <System>
    <Provider Name="Microsoft-Windows-IIS-W3SVC" Guid="{xxxxx}" EventSourceName="W3SVC" />
    <EventID Qualifiers="49152">1004</EventID>
    <Version>0</Version>
    <Level>2</Level>
    <Task>0</Task>
    <Opcode>0</Opcode>
    <Keywords>0x80000000000000</Keywords>
    <TimeCreated SystemTime="2014-07-19T09:59:44.000000000Z" />
    <EventRecordID>119596</EventRecordID>
    <Correlation />
    <Execution ProcessID="0" ThreadID="0" />
    <Channel>System</Channel>
    <Computer>xxxx</Computer>
    <Security />
  </System>
  <EventData>
    <Data Name="UrlPrefix">https://XXX.XXX.XXX.122:443/</Data>
    <Data Name="SiteID">2</Data>
    <Binary>20000780</Binary>
  </EventData>
</Event>

И

Log Name:      System
Source:        Microsoft-Windows-HttpEvent
Date:          7/19/2014 11:59:44 AM
Event ID:      15005
Task Category: None
Level:         Error
Keywords:      Classic
User:          N/A
Computer:      XXX
Description:
Unable to bind to the underlying transport for [::]:443. The IP Listen-Only list may contain a reference to an interface which may not exist on this machine.  The data field contains the error number.
Event Xml:
<Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
  <System>
    <Provider Name="Microsoft-Windows-HttpEvent" Guid="{xxx}" EventSourceName="HTTP" />
    <EventID Qualifiers="49152">15005</EventID>
    <Version>0</Version>
    <Level>2</Level>
    <Task>0</Task>
    <Opcode>0</Opcode>
    <Keywords>0x80000000000000</Keywords>
    <TimeCreated SystemTime="2014-07-19T09:59:44.330234300Z" />
    <EventRecordID>119597</EventRecordID>
    <Correlation />
    <Execution ProcessID="4" ThreadID="88" />
    <Channel>System</Channel>
    <Computer>XXX</Computer>
    <Security />
  </System>
  <EventData>
    <Data Name="DeviceObject">\Device\Http\ReqQueue</Data>
    <Data Name="Address">[::]:443</Data>
    <Binary>0000040002003000000000009D3A00C0000000000000000000000000000000000000000000000000430000C0</Binary>
  </EventData>
</Event>

IP-адрес, показанный в 2. Событии «[::]: 443», выглядит как IPv6. Возможно, оба веб-приложения пытаются привязать все IPv6-адреса, кроме IPv4-адресов, которые вы указали. Попробуйте временно отключить IPv6, чтобы увидеть, исчезнет ли проблема.