Festlegen der Metabasiseigenschaft "DisableSocketPooling" hat keine Auswirkung

Problembeschreibung

Wenn Sie Internet Information Services (IIS) 6.0 unter Microsoft Windows Server 2003 starten, bindet IIS alle IP-Adressen auf dem Server nicht nur die IP-Adressen, die Websites zugeordnet sind. True, möglicherweise, obwohl die Metabasiseigenschaft "DisableSocketPooling" auf True festgelegt haben.

Ursache

Um erfolgreich mit demselben Port auf verschiedenen IP-Adressen zu ermöglichen, müssen Sie ein neues Dienstprogramm Httpcfg.exe verwenden. Httpcfg.exe befindet sich auf der Windows Server 2003-CD im Verzeichnis Support\Tools als Teil der Datei "Support.cab".

Problemlösung

Microsoft Windows-Supporttools installieren

  1. Fügen Sie der Windows Server 2003-CD in das CD-ROM- oder DVD-ROM-Laufwerk.
  2. Wenn die CD gelesen wird, klicken Sie auf Zusätzliche Aufgaben durchführen.
  3. Klicken Sie auf Diese CD durchsuchen.
  4. Doppelklicken Sie auf Support.
  5. Doppelklicken Sie auf Tools.
  6. Doppelklicken Sie auf SUPTOOLS. MSI.
  7. Klicken Sie auf Weiter, geben Sie die Informationen in der
    Klicken Sie auf Felder Name und Organisation
    Weiter, und klicken Sie dann auf dem folgenden Bildschirm auf Weiter .
  8. Klicken Sie auf nächste erneut aus, um die Installation zu starten.
  9. Klicken Sie auf Fertig stellen.

Hinzufügen eine IP-Adresse zur IP-Aufnahmeliste

  1. Klicken Sie auf Start, und klicken Sie dann auf
    Ausführen.
  2. Geben Sie cmd ein, und klicken Sie dann auf
    OK , öffnen Sie ein Eingabeaufforderungsfenster.
  3. Geben Sie Folgendes ein, wobei
    xxx.xxx.x.x ist die IP-Adresse, die Sie hinzufügen möchten:
    Httpcfg festgelegt Iplisten -i xxx.xxx.x.x
    Wenn dies erfolgreich ist, gibt Httpcfg Folgendes:
    HttpSetServiceConfiguration mit 0 abgeschlossen

    Statuscodes finden Sie in der Httpcfg-Hilfe.
  4. Nachdem die IP-Adresse hinzugefügt wurde, verwenden Sie folgenden Befehl auf dieser Liste:
    Httpcfg Abfrage iplisten
    Httpcfg gibt Folgendes zurück:
    IP: xxx.xxx.x.x
  5. Die Befehlszeile beenden Sie der HTTP-Dienst und die abhängigen Dienste. Dazu geben Sie die folgende Zeichenfolge in die Befehlszeile eingeben:
    Net Stop http/y
  6. Über die Befehlszeile starten der HTTP-Dienst und abhängige Dienste neu. Dazu geben Sie die folgende Zeichenfolge in die Befehlszeile eingeben:
    Net Start w3svc
    Hinweis Wenn Sie w3svc starten, startet alle Dienste beendet wurden, wenn HTTP beendet wurde.

Status

Dieses Verhalten ist entwurfsbedingt.

Weitere Informationen

IIS 5.0 verwendet die Metabasiseigenschaft "DisableSocketPooling" für Applikationen Zugriff auf denselben Port über unterschiedliche IP-Adressen. Wenn dieser Wert auf True, ermöglicht diese Anträge auf derselben Installation von Microsoft Windows 2000.

Da DisableSocketPooling als gültige Eigenschaft in der IIS 6.0-Metabasis-Schema (MBSchema.xml) definiert ist, noch können Sie diese Eigenschaft festlegen, mit "Adsutil.vbs", aber dies hat keine Auswirkung. Die Funktionalität in IIS 6.0 ist Teil der neuen Ebene Kerneltreiber HTTP.sys. Konfigurieren Sie HTTP verwenden Sie Httpcfg.exe.

In IIS 5.0 wird TCP Winsock. Winsock verwendet Sockets und IIS an Leistung und Erweiterbarkeit der Winsock-API. Socketpooling Probleme in Internet Information Server (IIS) 4.0 wurde, Ressource: Einsatz viele Websites mit individuellen IP-Adressen war.

Zur Lösung dieses Problems Skalierbarkeit verwendet IIS 5.0 Socketpooling Ressourcen freigegeben werden. Socketpooling können zwei- oder dreimal so viele Websites auf einem bestimmten Server mit eindeutigen Adressen ausgeführt werden. DisableSocketPooling -Eigenschaft auch in IIS 5.0 eingeführt und wird verwendet, wenn eine andere Anwendung installiert ist, die einen Port benötigt, die IIS überwacht standardmäßig (z. B. Port 80).

In IIS 6.0 wird TCP-Listener und HTTP nicht die Winsock-API. Sockets sind nicht konfigurierbare Eigenschaft. "Http.sys" verwendet eine IP-Aufnahmeliste. Standardmäßig ist diese Liste leer und IIS hört alle IP-Adressen. Sie können die IP-Adressen angeben, die IIS abgehört wird, indem der Aufnahmeliste hinzugefügt.

Wichtig Die Aufnahmeliste wird beim Starten der HTTP-Dienst gelesen. Wenn Sie die Liste ändern, müssen Sie den Dienst starten.

Hinweis Der HTTP-Dienst und der HTTP-SSL-Dienst sind nicht identisch. Der HTTP-Dienst wird nicht in der Dienstliste angezeigt und muss an der Befehlszeile gestartet werden. Gehen Sie hierzu folgendermaßen vor:
  1. Klicken Sie auf Start, klicken Sie auf Ausführen, und geben Sie Cmd ein Eingabeaufforderungsfenster öffnen. Geben Sie an der Befehlszeile net Stop http/y , und drücken Sie die EINGABETASTE. Dieser beendet Dienst HTTP Secure Sockets Layer (SSL) und die WWW-Veröffentlichungsdienste, der HTTP-Dienst abhängig sind.
  2. Um den HTTP-Dienst zu starten, geben Sie net Start w3svc in der Befehlszeile. Der HTTP-SSL-Dienst und der HTTP-Dienst wird gestartet.
Nachdem Sie die IP-Aufnahmeliste IP-Adressen hinzufügen, müssen Sie jede IP-Adresse hinzufügen, die von einer Website verwendet wird. Wenn Sie eine Website eine IP-Adresse, die nicht in der Liste ist binden, wird die Website nicht gestartet.

Referenzen

Hilfe bei der Verwendung dieses Befehls finden Sie in der Httpcfg-Onlinehilfe. Um der Httpcfg-Onlinehilfe zuzugreifen, geben Httpcfg /? in einer Befehlszeile oder gehen Sie folgendermaßen vor:
  1. Klicken Sie auf Start.
  2. Klicken Sie auf Alle Programme.
  3. Klicken Sie auf die Windows-Supporttools.
  4. Klicken Sie auf Support Tools Help.
  5. Klicken Sie unter Alphabetische Liste der Tools nach Dateinamen H .
  6. Doppelklicken Sie auf Httpcfg.exe (HTTP Configuration Utility).
Weitere Informationen zu "DisableSocketPooling" klicken Sie auf die folgenden Artikelnummer der Microsoft Knowledge Base:

238131 zum Deaktivieren des Socketpooling

Eigenschaften

Artikelnummer: 813368 – Letzte Überarbeitung: 16.01.2017 – Revision: 2

Feedback