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:
kde adsutil.vbs leží většinou ve složce:
Microsoft uvádí, že je třeba potom zrestartovat služby:
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:
V případě, že je Socket Pooling zapnut (default), zobrazí toto:
V případě vypnutého Socket Pooling něco takového:
Chcete-li ke komentáři přidat svou fotku nebo jinou ikonku, postupujte podle návodu.