Applies ToWindows 10 Windows 10, version 1511, all editions Windows Server 2012 R2 Datacenter Windows Server 2012 R2 Standard Windows Server 2012 R2 Essentials Windows Server 2012 R2 Foundation Windows 8.1 Enterprise Windows 8.1 Pro Windows 8.1 Windows RT 8.1 Windows Server 2012 Datacenter Windows Server 2012 Datacenter Windows Server 2012 Standard Windows Server 2012 Standard Windows Server 2012 Essentials Windows Server 2012 Foundation Windows Server 2012 Foundation Windows Server 2008 R2 Service Pack 1 Windows Server 2008 R2 Datacenter Windows Server 2008 R2 Enterprise Windows Server 2008 R2 Standard Windows Server 2008 R2 Web Edition Windows Server 2008 R2 Foundation Windows 7 Service Pack 1 Windows 7 Ultimate Windows 7 Enterprise Windows 7 Professional Windows 7 Home Premium Windows 7 Home Basic Windows 7 Starter Windows Server 2008 Service Pack 2 Windows Server 2008 Datacenter Windows Server 2008 Enterprise Windows Server 2008 Standard Windows Server 2008 Web Edition Windows Server 2008 Foundation Windows Server 2008 for Itanium-Based Systems Windows Vista Service Pack 2 Windows Vista Ultimate Windows Vista Enterprise Windows Vista Business Windows Vista Home Premium Windows Vista Home Basic Windows Vista Starter

Príznaky

Použijete funkciu IIS rozhranie CGI (Common Gateway) Host spustiteľný program, ktorý pomocou niektorých knižnicu presmerovať žiadosti žiadosti môže nesprávne, na základe prítomnosti "PROXY" žiadosť hlavičky. Viaceré platformy webové aplikácie sú známe tejto knižnice. Okrem iného patria PHP, Python a ísť.

Príčina

CGI je rozhranie, ktoré umožňuje webovému serveru hostiteľa aplikácie ako spustiteľný procesy. Po prijatí požiadavky webový server, server spustí nový proces spracovania tejto žiadosti. Po dokončení požiadavky proces ukončí. Aby proces na prístup k údajom žiadosti, hlavičky sú zahrnuté ako premenné prostredia, ktoré majú "HTTP_" pridané-svoje meno. CGI procesov požiadavky, ktoré obsahujú hlavičku s názvom "Proxy" teda "HTTP_PROXY" premenné prostredia, ktoré majú rovnakú hodnotu ako hlavičky požiadavky.CURL príkazového riadka a knižnice sa bežne používajú na povolenie rôznych aplikácií požiadavky na rôzne typy serverov, vrátane webových serverov. Knižnica môže byť nakonfigurovaný pomocou parametrov príkazového riadka alebo jeho parametre dokáže čítať z hostiteľského procesu premenné. "HTTP_PROXY" je jeden z mnohých parametrov konfigurácie, ktoré používajú oblúčik. "HTTP_PROXY" používa oblúčik odoslať požiadavku HTTP cez server proxy nakonfigurovaný.Poznámka:  Je to nesúvisí s "HTTP_PROXY" ako hlavičky požiadavky klienta.Pri cURL je umiestnený v rámci procesu CGI a že proces obsahuje premenné, ktoré sa nazýva "HTTP_PROXY", oblúčik používa jeho hodnotu na odoslanie požadovaných údajov cez HTTP proxy, ktorého hodnota je definovaný v premennej prostredia. Príčinou oblúčik predpokladá, že je "HTTP_PROXY" smernice konfigurácie a nie hlavičky požiadavky klienta.

Alternatívne riešenie

Tento problém obísť, nepoužívajte CGI na serveri so službou IIS. CGI je veľmi zastarané rozhranie, ktoré nahrádza novší a ďalšie súvisiace s výkonom. Konkrétne PHP, Python a Go mali nachádzať cez FastCGI v službe IIS. FastCGI premenné na klienta hlavičky a nemá problém. PHP, Avšak niektoré aplikácie môžu používať PHPs getenv() funkcia Načítať systémové premenné. Aj keď PHP nie hosťuje CGI proces, sa šíri CGI správanie aplikáciu hodnoty hlavičky požiadavky do údajov, ktoré sú k dispozícii na jeho getenv() funkciu. Používate PHP aplikácií, ktoré načíta HTTP_PROXY týmto spôsobom platia nasledovné mitigations vymazanie hodnoty hlavičky alebo zamietnutí žiadosti s hlavičkou PROXY.Ak musíte použiť CGI z nejakého dôvodu, blokovať žiadosti, ktoré obsahujú hlavičky požiadavky s názvom "Proxy" alebo zrušte hodnota hlavičky.  Dôvodom je skutočnosť, že "Proxy" je štandardné hlavičky a prehľadávače všeobecne neodošle sa.Blokovanie požiadavka obsahuje hlavičku Proxy (preferovaným riešením), spustite nasledujúci príkaz:

Appcmd nastaviť config /section:requestfiltering / + requestlimits.headerLimits. [hlavičky = proxy, sizelimit = "0"]Poznámka:  Appcmd.exe sa zvyčajne cesta a sa nachádza v adresári %systemroot%\system32\inetsrvZrušte hodnota hlavičky, môžete použiť pravidlo URL Rewrite:

<system.webServer>    <rewrite>        <rules>            <rule name="Erase HTTP_PROXY" patternSyntax="Wildcard">                <match url="*.*" />                <serverVariables>                    <set name="HTTP_PROXY" value="" />                </serverVariables>                <action type="None" />            </rule>        </rules>    </rewrite></system.webServer>

Poznámka: URL Rewrite je prevzatie doplnok IIS a nie je súčasťou predvolenej inštalácie IIS.

Potrebujete ďalšiu pomoc?

Chcete ďalšie možnosti?

Môžete preskúmať výhody predplatného, prehľadávať školiace kurzy, naučiť sa zabezpečiť svoje zariadenie a ešte oveľa viac.

Komunity pomôžu s kladením otázok a odpovedaním na ne, s poskytovaním pripomienok a so získavaním informácií od odborníkov s bohatými znalosťami.