Logg på med Microsoft
Logg på, eller opprett en konto.
Hei,
Velg en annen konto.
Du har flere kontoer
Velg kontoen du vil logge på med.

Symptomer

Når du bruker funksjonen for IIS Common Gateway Interface (CGI) til å være vert for et kjørbart program som bruker et bestemt bibliotek til å omadressere forespørsler, kan være forespørsler om misdirected basert på tilstedeværelsen av en "PROXY" forespørselshodet. Flere plattformer for web-applikasjonen er kjent for å bruke dette biblioteket. Disse inkluderer PHP, Python og gå, blant andre.

Årsak

CGI er et grensesnitt som gjør det mulig for en webserver til for vertsapplikasjoner som kjøres som kjørbar prosesser. Når en forespørsel mottas av web-serveren, starter serveren en ny prosess for å håndtere den enkelt forespørselen. Når forespørselen er fullført, avsluttes prosessen. Rekkefølgen for prosessen skal ha tilgang til den forespurte dataen inkluderes forespørselshoder som miljøvariabler som har "HTTP_" foran navnet sitt. CGI-prosesser for forespørsler som inneholder et hode som heter "Proxy" har derfor en miljøvariabel som "HTTP_PROXY" som har samme verdi som forespørselshodet.

Sidekrølling kommandolinjen og biblioteket brukes vanligvis til å aktivere ulike typer programmer for å gjøre forespørsler til ulike typer servere, inkludert web-servere. Dette biblioteket kan konfigureres ved hjelp av kommandolinjeparametere, eller den kan lese konfigurasjonsparameterne fra verten prosess-miljøvariabler. "HTTP_PROXY" er en av de mange parameterne som brukes av sidekrølling. "HTTP_PROXY" brukes av sidekrølling til å sende en HTTP-forespørsel til den konfigurerte proxyen.

Obs! Dette er ikke relatert til "HTTP_PROXY" som representasjon av en klient-forespørselshodet.

Når sidekrølling er plassert i en CGI-prosess, og som inneholder en miljøvariabel som kalles "HTTP_PROXY" for prosessen, bruker sidekrølling verdien til å sende forespurte data via HTTP-proxy som inneholder verdien som er angitt i miljøvariabelen. Dette skjer fordi sidekrølling forventer at "HTTP_PROXY" er et direktiv for konfigurasjon og ikke en klient-forespørselshodet.

Løsningen

Hvis du vil omgå dette problemet, bruker du ikke CGI på en server som kjører IIS. CGI er en stor grad foreldet grensesnitt som er erstattet av nyere og mer ytelsesrelaterte grensesnitt. Spesielt, bør PHP, Python og gå være vert via FastCGI i IIS. FastCGI bruke ikke miljøvariabler for klienten forespørselshoder og har ikke dette problemet. Men for PHP, noen programmer kan bruke PHPs getenv() -funksjonen til å hente miljøvariabler. Selv når PHP ikke ligger i en CGI-prosess, replikerer det CGI-virkemåte ved webområdeoperatører forespørsel hodet verdier i et sett med data som er tilgjengelig for funksjonen getenv() . Hvis du bruker et PHP-program som henter HTTP_PROXY på denne måten, er følgende begrensninger for å fjerne hodeverdi eller avvise forespørsler med en PROXY-hode er effektive.

Hvis du trenger å bruke CGI for en eller annen grunn, blokkere forespørsler som inneholder en forespørsel om overskrift med navnet "Proxy", eller fjern verdien av overskriften.  Dette er fordi "Proxy" er ikke en standard forespørselen hodenavn og lesere vil vanligvis ikke sende den.

Hvis du vil blokkere en forespørsel som inneholder et hode med Proxy (den foretrukne løsningen), kjører du følgende kommandolinje:

APPCMD angi config /section:requestfiltering / + requestlimits.headerLimits. [toppteksten = proxy, sizelimit = '0']
Obs! Appcmd.exe er vanligvis ikke banen og som finnes i mappen %systemroot%\system32\inetsrv

Hvis du vil fjerne verdien for overskriften, kan du bruke følgende URL-omskriving regel:

<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>


Obs! URL-omskriving er et nedlastbart tilleggsprogram til IIS og er ikke inkludert i en standard IIS-installasjonen.

Trenger du mer hjelp?

Vil du ha flere alternativer?

Utforsk abonnementsfordeler, bla gjennom opplæringskurs, finn ut hvordan du sikrer enheten og mer.

Fellesskap hjelper deg med å stille og svare på spørsmål, gi tilbakemelding og høre fra eksperter med stor kunnskap.

Var denne informasjonen nyttig?

Hvor fornøyd er du med språkkvaliteten?
Hva påvirket opplevelsen din?
Når du trykker på Send inn, blir tilbakemeldingen brukt til å forbedre Microsoft-produkter og -tjenester. IT-administratoren kan samle inn disse dataene. Personvernerklæring.

Takk for tilbakemeldingen!

×