Momentan sunteți offline, așteptați să vă reconectați la internet

Setarea proprietăţii de metabază DisableSocketPooling nu are efect

SIMPTOME
Când porniţi Internet Information Services (IIS) 6.0 pe Microsoft Windows Server 2003, IIS face legătura la toate adresele IP de pe server, nu numai la adresele IP atribuite site-urilor Web. Aceasta se poate întâmpla chiar dacă aţi setat proprietatea de metabază DisableSocketPooling la True.
CAUZĂ
Pentru a reuşi să permiteţi aplicaţiei utilizarea aceluiaşi port pentru diferite adrese IP, trebuie să utilizaţi un utilitar nou, Httpcfg.exe. Httpcfg.exe se află pe CD-ul Windows Server 2003 în directorul Support\Tools, ca parte a fişierului Support.cab.
REZOLUŢIE

Pentru a instala instrumentele de suport Microsoft Windows

  1. Introduceţi CD-ul Windows Server 2003 în unitatea CD-ROM sau DVD-ROM.
  2. Când se deschide CD-ul, faceţi clic pe Perform Additional Tasks.
  3. Faceţi clic pe Browse this CD.
  4. Faceţi dublu clic pe Support.
  5. Faceţi dublu clic pe Tools.
  6. Faceţi dublu clic pe SUPTOOLS.MSI.
  7. Faceţi clic pe Next, tastaţi informaţiile în casetele Name şi Organization, faceţi clic pe Next, apoi pe Next din următorul ecran.
  8. Faceţi din nou clic pe Next pentru a începe instalarea.
  9. Faceţi clic pe Finish.

Pentru a adăuga o adresă IP la lista de IP incluse

  1. Faceţi clic pe Start, apoi pe Run.
  2. Tastaţi cmd, apoi faceţi clic pe OK pentru a deschide o linie de comandă.
  3. Tastaţi următoarele, unde xxx.xxx.x.x este adresa IP pe care o adăugaţi:
    httpcfg set iplisten -i xxx.xxx.x.x
    Când se execută această comandă, Httpcfg returnează următoarele:
    HttpSetServiceConfiguration completed with 0

    Pentru a vedea celelalte coduri de stare, consultaţi ajutorul pentru Httpcfg.
  4. După adăugarea adresei IP, utilizaţi următoarea comandă pentru a o lista:
    httpcfg query iplisten
    Httpcfg returnează următoarele:
    IP :xxx.xxx.x.x
  5. Din linia de comandă, opriţi serviciul HTTP şi serviciile dependente. Pentru aceasta, în linia de comandă tastaţi următorul şir:
    net stop http /y
  6. Din linia de comandă, reporniţi serviciul HTTP şi serviciile dependente. Pentru aceasta, în linia de comandă tastaţi următorul şir:
    net start w3svc
    Notă Când porniţi w3svc, vor porni toate serviciile care s-au oprit la oprirea serviciului HTTP.
STARE
Acest comportament este cel proiectat.
INFORMAŢII SUPLIMENTARE
IIS 5.0 utilizează proprietatea de metabază DisableSocketPooling pentru a permite accesul aplicaţiilor la acelaşi port prin diferite adrese IP. Setarea acestei valori la True permite acestor aplicaţii să existe în aceeaşi instalare Microsoft Windows 2000.

Deoarece DisableSocketPooling se defineşte ca proprietate validă în schema de metabază IIS 6.0 (MBSchema.xml), este posibil să setaţi această proprietate utilizând Adsutil.vbs, dar aceasta nu are efect. Funcţionalitatea din IIS 6.0 face parte din driverul de nivel de nucleu HTTP.sys. Pentru a configura HTTP.sys, trebuie să utilizaţi Httpcfg.exe.

În IIS 5.0, instanţa de ascultare TCP este Winsock. Winsock utilizează socluri şi IIS este legat de performanţa şi scalabilitatea API Winsock. Gruparea de socluri s-a introdus pentru a rezolva problemele de utilizare extinsă a resurselor din Internet Information Server (IIS) 4.0, cu multe site-uri Web care utilizau adrese IP individuale.

Pentru a rezolva această problemă de scalabilitate, IIS 5.0 utilizează gruparea soclurilor pentru a permite partajarea resurselor. Gruparea soclurilor permite dublarea sau triplarea numărului de site-uri care se execută pe un anumit server cu adrese IP unice. Proprietatea DisableSocketPooling s.a introdus, de asemenea, în IIS 5.0 şi se utilizează când este instalată altă aplicaţie care necesită utilizarea unui port pe care IIS în ascultă în mod implicit (cum ar fi portul 80).

În IIS 6.0, HTTP.sys este instanţa de ascultare TCP şi HTTP.sys nu utilizează API Winsock. Soclurile nu sunt o proprietate care se poate configura. HTTP.sys utilizează o listă de IP incluse. În mod implicit, această listă este goală şi IIS ascultă toate adresele IP. Aveţi posibilitatea să specificaţi adresele IP pe care IIS le va asculta prin adăugarea lor la lista de IP incluse.

Important Lista de IP incluse se citeşte în timpul lansării în execuţie a serviciului HTTP. Dacă modificaţi lista, trebuie să reporniţi serviciul.

Notă Serviciul HTTP şi serviciul HTTP SSL sunt servicii diferite. Serviciul HTTP nu apare în lista de servicii şi trebuie repornit de la linia de comandă. Pentru aceasta, urmaţi aceşti paşi:
  1. Faceţi clic pe Start, pe Run, apoi tastaţi cmd pentru a deschide o linie de comandă. În linia de comandă, tastaţi net stop http /y, apoi apăsaţi ENTER. Aceasta opreşte serviciul HTTP Secure Sockets Layer (SSL) şi serviciile de publicare World Wide Web, deoarece acestea sunt dependente de serviciul HTTP.
  2. Pentru a porni serviciul HTTP, tastaţi net start w3svc în linia de comandă. Aceasta porneşte serviciul HTTP SSL şi serviciul HTTP.
După ce adăugaţi adresele IP în lista de IP incluse, trebuie să adăugaţi fiecare adresă IP care este utilizată de un site Web. Dacă legaţi un site Web la o adresă IP care nu este în listă, site-ul Web nu porneşte.
REFERINŢE
Pentru ajutor în legătură cu utilizarea acestei comenzi, consultaţi ajutorul Httpcfg online. Pentru a accesa ajutorul Httpcfg online, tastaţi Httpcfg /? în linia de comandă sau urmaţi aceşti paşi:
  1. Faceţi clic pe Start.
  2. Faceţi clic pe All Programs.
  3. Faceţi clic pe Windows Support Tools.
  4. Faceţi clic pe Support Tools Help.
  5. Faceţi clic pe H sub Alphabetical List of Tools by File Name.
  6. Faceţi dublu clic pe Httpcfg.exe ( HTTP Configuration Utility).
Pentru mai multe informaţii despre DisableSocketPooling, faceţi clic pe următorul număr de articol pentru a vedea articolul în Baza de cunoştinţe Microsoft:
238131 Cum se dezactivează gruparea soclurilor (articolul poate să fie în limba engleză)
Proprietăți

ID articol: 813368 - Ultima examinare: 01/31/2008 13:03:00 - Revizie: 5.1

Microsoft Internet Information Services 6.0

  • kbhowto KB813368
Feedback
ementsByTagName("head")[0].appendChild(m);