Oprava: Adresa IP je odhalilo obsah umístění pole v hlavičce protokolu TCP ve službě IIS 6.0

Důležité: Tento článek obsahuje informace o úpravě metabáze. Před úpravou metabázi ověřte, zda máte záložní kopii, která je možné obnovit v případě výskytu problému. Další informace o tom, jak to provést, naleznete v tématu nápovědy "zálohování či obnovení konfigurace" v konzola Microsoft Management Console (MMC).

Příznaky

Pokud Internetová informační služba (IIS) obdrží požadavek GET bez záhlaví hostitele, může odhalit webového serveru adresu IP do pole umístění obsahu nebo umístění pole v hlavičce protokolu TCP v odpovědi serveru. Tomuto problému může dojít, pokud žádost neobsahuje určitou stránku nebo pokud IIS musí původní požadavek přesměrovat na jinou stránku.

Příčina

K tomuto problému dochází, protože služba IIS obdrží požadavek GET, který má žádné záhlaví hostitele, služba IIS musíte zadat název hostitele nebo adresu IP v odpovědi.

Řešení

Informace o aktualizaci Service pack

Tento problém vyřešíte pomocí nejnovější aktualizace service pack pro Microsoft Windows Server 2003. Další informace získáte v následujícím článku znalostní báze Microsoft Knowledge Base:
889100 jak získat nejnovější aktualizaci service pack pro systém Windows Server 2003
Důležité: Po instalaci aktualizace service pack musíte nastavit vlastnost UseHostName nebo vlastnost SetHostName na webu Pokud chcete, aby hostitel alternativní k odeslání požadavků. Informace o tomto postupu naleznete v části "Další informace".

Informace o opravě hotfix

Podporovaná oprava hotfix je nyní k dispozici od společnosti Microsoft. Je však určena opravit pouze problém popsaný v tomto článku. Použijte ji pouze u systémů, ve kterých dochází k tomuto konkrétnímu problému. Tato oprava hotfix může být dále testována. Proto pokud jste závažně tento problém, doporučujeme počkat další aktualizaci service pack pro systém Windows Server 2003, který obsahuje tuto opravu hotfix.

Chcete-li tento problém vyřešit okamžitě, obraťte se na technickou podporu společnosti Microsoft získat opravu hotfix. Úplný seznam telefonních čísel služeb podpory zákazníků společnosti Microsoft a informace o cenách podpory naleznete na následujícím webu společnosti Microsoft:Poznámka: Ve zvláštních případech mohou být stornovány poplatky, které jsou třeba obvykle zaplatit za telefonní hovory, pokud pracovník služeb podpory společnosti Microsoft určí, že konkrétní aktualizace odstraní váš problém. Výdaje na technickou podporu použije dalších otázek a problémů, které nelze vyřešit konkrétní aktualizací.

Předpoklady

Neexistují žádné požadavky.

Požadavek na restartování

Po instalaci této opravy hotfix po restartování počítače.

Informace o metabázi

Po instalaci této opravy hotfix, je nutné nastavit vlastnost UseHostName nebo vlastnost SetHostName na webu Pokud chcete, aby hostitel alternativní k odeslání požadavků. Informace o tomto postupu naleznete v části "Další informace".

Informace o nahrazení opravy hotfix

Tato oprava hotfix nenahrazuje žádné další opravy hotfix.

Informace o souborech

Anglická verze této opravy hotfix má atributy (nebo pozdější atributy souborů) uvedené v následující tabulce. Kalendářní data a časy jednotlivých souborů jsou uvedeny v koordinovaném světovém čase (UTC). Při zobrazení informací o souboru je převeden na místní čas. Rozdíl mezi místním časem a časem UTC naleznete na kartě Časové pásmo v položce Datum a čas v okně Ovládací panely.
   Date         Time   Version      Size       File name   ------------------------------------------------------
10-Dec-2003 18:07 6.0.3790.91 1,124,352 Iiscfg.dll
10-Dec-2003 18:07 6.0.3790.91 299,008 W3core.dll

Stav

Společnost Microsoft potvrzuje, že se jedná o problém v produktech této společnosti, které jsou uvedeny v části "Platí pro". Tento problém byl poprvé opraven v systému Windows Server 2003 Service Pack 1.

Další informace

Upozornění: Pokud upravíte metabázi nesprávně, můžete způsobit vážné problémy, které mohou vyžadovat přeinstalaci každého produktu, jenž metabázi využívá. Společnost Microsoft nemůže zaručit, že problémy vzniklé v důsledku nesprávné úpravy metabáze budete moci vyřešit. Upravte metabáze na vlastní nebezpečí.

Poznámka: Před úpravou metabázi vždy zálohujte.


Po instalaci aktualizace service pack nebo nainstalovat tuto opravu hotfix, je nutné nastavit vlastnost UseHostName nebo vlastnost SetHostName na webu Pokud chcete, aby hostitel alternativní k odeslání požadavků. Ve výchozím nastavení je stejnou hodnotu jako proměnná HTTP_HOST odeslána v proměnné název_serveru.

Poznámka: Pokud povolíte jednu následující nastavení, služba IIS bude vždy používat alternativní název proměnné název_serveru.

Typ dat pro vlastnost UseHostName je logická hodnota. Vlastnost UseHostName bude pokyn IIS vždy nahradit proměnnou název_serveru počítač plně kvalifikovaný název.

Volitelně můžete nastavit vlastnost SetHostName . Typ dat pro vlastnost SetHostName je řetězec. Pokud je nutné zadat název hostitele, který se liší od názvu počítače, použijte vlastnost SetHostName . Vlastnost SetHostName předpokládá, že chcete tento název hostitele alternativní. Vlastnost SetHostName způsobí IIS ignorovat nastavení UseHostName . Není nutné nastavit vlastnost UseHostName , pokud je k dispozici vlastnost SetHostName .


Správce webového serveru může použít nástroj Adsutil.vbs upravit vlastnost UseHostName metabáze a vlastnost metabáze SetHostName .

Možnost 1: Nastavit vlastnost UseHostName

Chcete-li nastavit vlastnost UseHostName , postupujte takto:
  1. Klepněte na tlačítko Start, klepněte na příkaz Spustit, zadejte příkaz cmda potom klepněte na tlačítko OK otevřete okno příkazového řádku.
  2. Přejděte do složky, kde je nástroj Adsutil.vbs umístěn. Podle výchozího nastavení této složky je následující:
    %SYSTEMROOT%\Inetpub\AdminScripts
  3. Zadejte následující příkaz, kde x je identifikátor vašeho webu:
    cscript adsutil.vbs set w3svc /x/UseHostName PRAVDA

Možnost 2: Nastavit vlastnost SetHostName

Chcete-li nastavit vlastnost SetHostName , postupujte takto:
  1. Klepněte na tlačítko Start, klepněte na příkaz Spustit, zadejte příkaz cmda potom klepněte na tlačítko OK otevřete okno příkazového řádku.
  2. Přejděte do složky, kde je nástroj Adsutil.vbs umístěn. Podle výchozího nastavení této složky je následující:
    %SYSTEMROOT%\Inetpub\AdminScripts
  3. Zadejte následující příkaz, kde x je váš identifikátor webu a název hostitele je název hostitele alternativní, který chcete použít:
    cscript adsutil.vbs set w3svc / /SetHostNamex hostname

Zklidňující fakta

Po nastavení UseHostName nebo SetHostName vlastnosti ve službě IIS 6.0, je stále možné zobrazit adresu IP serveru v odpovědi protokolu HTTP. Ve výchozím nastavení toto se nevyskytuje. Výsledkem jak odpověď je generována a odeslána. Pokud konfigurovat HTTP přesměrování, které jsou odesílány výsledky v odpověď HTTP 302 a používá váš kód přesměrování adresy IP serveru, adresu IP může například zobrazit v obsahu umístění nebo umístění hlavičky odpovědi. Chcete-li tento problém vyřešit, nepoužívejte v logice přesměrování adresy IP serveru. Místo toho použijte jeho název hostitele nebo počítače plně kvalifikovaný název.



Podobné typ chování může dojít, pokud konfigurovat vlastní chybové stránky k provedení operace PŘESMĚROVÁNÍ a nastavit cíl přesměrování jako URL namísto souboru pomocí Správce služby IIS. V tomto scénáři zadejte soubor namísto adresy URL, aby adresy IP, které jsou skryté.

Adresa IP serveru mohou být rovněž odeslány v odpovědi protokolu HTTP, pokud jsou splněny následující podmínky:
  • Příslušný požadavek HTTP neobsahuje záhlaví hodnotu HTTP:Host.
  • Filtr ISAPI, který zavolá GetServerVariables(servername) během SF_NOTIFY_PREPROC_HEADERS událost je nakonfigurován ve službě IIS.
To je protože PREPROC_HEADERS je volána před IIS má čtení dat konfigurace; v tomto případě UseHostName nebo SetHostName. Proto je další možnost, ale chcete vrátit adresu IP. Pokud požadavek obsahuje hodnotu Host a je provedeno volání GetServerVariables(servername) v PREPROC_HEADERS název_serveru obsahovat hodnotu hlavičky hostitele klienta. HTTP/1.1 webové prohlížeče musí obsahovat záhlaví hostitele ve svých požadavcích. V tomto scénáři je tedy mnohem pravděpodobnější při požadavku protokolu HTTP je generována a odesílá něco než ve webovém prohlížeči nebo webový prohlížeč použije protokol HTTP/1.0.



Pro další informace o terminologii používané v aktualizacích softwaru, klepněte na následující číslo článku k zobrazení článku v databázi Microsoft Knowledge Base:

824684 Popis standardní terminologie používané při popisu aktualizací softwaru společnosti Microsoft

Vlastnosti

ID článku: 834141 - Poslední kontrola: 16. 1. 2017 - Revize: 1

Váš názor