31.ledna 2007

PC a internet MS IIS a Disable Socket Pooling

Má-li váš počítač dvě a více IP adres a provozujete-li na něm IIS, může nastat situace, kdy chcete, aby IIS naslouchalo pouze na jedné z těchto IP adres a ostatní nechalo volné pro jiné aplikace.

Typicky tato situace nastává například máte-li dvě IP adresy a na jedné má běžet IIS web server a na druhé třeba Apatch. Dalším typickým příkladem je použití MS Small Business Server a ISA server. Potom máte 2 síťové karty a na jedné, vnitřní, má běžet IIS a ne druhé, vnější, má poslouchat ISA Server.

Řešení je zdánlivě jednoduché. V IIS management console lze nastavit, na jaké IP adrese má webserver poslouchat. Bohužel IIS má defaultně zapnutý Socket Pooling, což znamená, že poslouchá na všech IP adresách a potom teprve ty požadavky, které nepotřebuje, zahazuje.

Nastavení Socket Pooling je uloženo v MetaBase IIS a lze ho vypnout tímto příkazem:

cscript adsutil.vbs set w3svc/disablesocketpooling true

kde adsutil.vbs leží většinou ve složce:

C:\Inetpub\Adminscripts

Microsoft uvádí, že je třeba potom zrestartovat služby:

  • IIS Admin service
  • WWW service

Empirickým zkoušením jsem ale dospěl do stádia, kdy tento restart ne vždy pomohl a problém potom vyřešil celkový restart serveru.

Zjistit, na jaké IP adrese a portu poslouchá který proces se dá tímto příkazem:

netstat -ano | find ":80"

V případě, že je Socket Pooling zapnut (default), zobrazí toto:

TCP 0.0.0.0:80 0.0.0.0 LISTENING xxx

V případě vypnutého Socket Pooling něco takového:

TCP 192.168.1.1:80 0.0.0.0 LISTENING xxx

Hledáte-li správce sítě nebo prostě nekoho kdo umí spravovat servery, hledejte na www.petr-hladis.cz

Přečteno: 2512x | Komentářů: 0x | Kategorie: PC a internet

Komentáře čtenářů

Přidat vlastní komentář k článku



Z důvovů ochrany proti spamu prosím do následujícího políčka napište texy "NOSPAM":

Chcete-li ke komentáři přidat svou fotku nebo jinou ikonku, postupujte podle návodu.


TOPlist

[CNW:Counter]