Question IIS se plaint du port utilisé quand ce n'est pas


Je dois relancer une application afin qu'elle puisse être archivée en toute sécurité par une tierce partie avant d'être abandonnée.

Afin de le faire sans mettre en danger l'ensemble du serveur, je souhaite forcer l'utilisateur à s'authentifier avant de se connecter, ce qui implique le recours à TLS.

Malheureusement, le port 443 sur ce serveur (xxx.xxx.xxx.120) est utilisé par une autre application (un système de messagerie Web qui utilise son propre serveur HTTP). J'ai donc ajouté une nouvelle adresse IP publique au serveur (xxx.xxx.xxx .120) et a ajouté une liaison dans IIS pour le port 443 sur cette nouvelle adresse IP:

IIS bindings for the web site

Je me suis également assuré que l'autre application n'est PAS liée à 0.0.0.0:443 mais utilise l'adresse IP spécifique.

Enfin, j'ai couru netstat -ano | find ":443" et obtenu ceci:

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 est l'adresse IP initiale du serveur, la nouvelle adresse étant xxx.xxx.xxx.122.

Pour faire bonne mesure, j'ai aussi couru netstat -aon | Find "xxx.xxx.xxx.122:443" (la nouvelle adresse IP) et n’a rien reçu, comme prévu.

Malheureusement, lorsque j'essaie de démarrer l'application Web, le message d'erreur suivant s'affiche:

Error message: The process cannot access the file because it is being used by another process. (Exception from HRESULT: 0x80070020)

Cette erreur correspond à celle qu'IIS génère si IP: Le port auquel il tente de se lier est pris et pourtant netstat indique clairement qu'il est disponible.

Qu'est-ce que je rate ?

Modifier: Il existe deux événements dans le journal des événements système lorsque je tente de démarrer le service:

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>

Et

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>

5
2017-07-18 13:39


origine


Êtes-vous sûr à 100% que votre application Web est correctement liée à la nouvelle adresse IP? Pour vous en assurer, et si vous le pouvez, vous pouvez essayer d’arrêter le serveur http de messagerie Web et de démarrer votre application Web, puis exécutez la commande netstat commande à nouveau pour vérifier la liaison ... - krisFR
Oui, je suis à 100% sûr de la nouvelle liaison de l'application Web. Je vais ajouter une capture d'écran de la liaison dans IIS. En ce qui concerne l'application de messagerie Web, je ne vois pas comment (ni pourquoi) elle pourrait tromper Netstat. - Stephane
Là-bas: j'ai ajouté la capture d'écran promise - Stephane
Avez-vous consulté les journaux d’événements système pour savoir si quelque chose avait été consigné depuis Microsoft-Windows-HttpEvent ou Microsoft-Windows-IIS-W3SVC sources? - pk.
Oui, il y a deux événements enregistrés. Je les ai ajoutés à la description du problème - Stephane


Réponses:


L'adresse IP indiquée dans le 2. événement "[::]: 443" ressemble à IPv6. Peut-être que les deux applications Web essaient de lier toutes les adresses IPv6 en plus des adresses IPv4 spécifiées. Essayez de désactiver temporairement IPv6 pour voir si le problème disparaît.


2
2017-08-13 13:09