Konfiguration av HTTP-inställningar för Application Gateway

Programgatewayen dirigerar trafik till serverdelsservrarna med hjälp av den konfiguration som du anger här. När du har skapat en HTTP-inställning måste du associera den med en eller flera regler för routning av begäranden.

Azure Application Gateway använder gatewayhanterade cookies för att underhålla användarsessioner. När en användare skickar den första begäran till Application Gateway, anger den en cookie för tillhörighet i svaret med ett hash-värde som innehåller sessionsinformationen, så att efterföljande begäranden som bär tillhörighetscookien dirigeras till samma serverdelsserver för att upprätthålla fasthet.

Den här funktionen är användbar när du vill behålla en användarsession på samma server och när sessionstillståndet sparas lokalt på servern för en användarsession. Om programmet inte kan hantera cookiebaserad tillhörighet kan du inte använda den här funktionen. Om du vill använda den kontrollerar du att klienterna stöder cookies.

Kommentar

Vissa sårbarhetsgenomsökningar kan flagga Application Gateway-cookien för tillhörighet eftersom flaggorna Secure eller HttpOnly inte har angetts. Dessa genomsökningar tar inte hänsyn till att data i cookien genereras med en enkelriktad hash. Cookien innehåller ingen användarinformation och används enbart för routning.

Uppdateringen Chromium browserv80 gav ett mandat där HTTP-cookies utan SameSite-attribut måste behandlas som SameSite=Lax. För CORS-begäranden (resursdelning mellan ursprung) måste den använda SameSite=None om cookien måste skickas i en kontext från tredje part. Säkra attribut och det bör endast skickas via HTTPS. I ett scenario med endast HTTP skickar webbläsaren annars inte cookies i kontexten från tredje part. Målet med den här uppdateringen från Chrome är att förbättra säkerheten och undvika CSRF-attacker (Cross-Site Request Forgery).

För att stödja den här ändringen, från och med 17 februari 2020, kommer Application Gateway (alla SKU-typer) att mata in en annan cookie med namnet ApplicationGatewayAffinityCORS utöver den befintliga ApplicationGatewayAffinity-cookien . ApplicationGatewayAffinityCORS-cookien har ytterligare två attribut tillagda ("SameSite=None; Säker") så att klibbiga sessioner bibehålls även för begäranden mellan ursprung.

Observera att standardnamnet för cookie för tillhörighet är ApplicationGatewayAffinity och att du kan ändra det. Om du använder ett anpassat cookienamn för tillhörighet läggs ytterligare en cookie till med CORS som suffix. Till exempel CustomCookieNameCORS.

Kommentar

Om attributet SameSite=None har angetts är det obligatoriskt att cookien även innehåller flaggan Säker och måste skickas via HTTPS. Om sessionstillhörighet krävs via CORS måste du migrera din arbetsbelastning till HTTPS. Se TLS-avlastning och TLS-dokumentation från slutpunkt till slutpunkt för Application Gateway här – Översikt, Konfigurera en programgateway med TLS-avslutning med Hjälp av Azure-portalen, Konfigurera TLS från slutpunkt till slutpunkt med hjälp av Application Gateway med portalen.

Anslutningstömning

Anslut jondränering hjälper dig att på ett smidigt sätt ta bort medlemmar i serverdelspoolen under planerade tjänstuppdateringar. Den gäller för serverdelsinstanser som är

  • uttryckligen tagits bort från serverdelspoolen.
  • tas bort under inskalningsåtgärder, eller
  • rapporteras som inte felfri av hälsoavsökningarna.

Du kan använda den här inställningen för alla medlemmar i serverdelspoolen genom att aktivera Anslut ion Draining i serverdelsinställningen. Det säkerställer att alla avregistreringsinstanser i en serverdelspool inte tar emot några nya begäranden/anslutningar samtidigt som befintliga anslutningar bibehålls förrän det konfigurerade tidsgränsvärdet. Detta gäller även för WebSocket-anslutningar.

Konfigurationstyp Värde
Standardvärde när Anslut dränering inte är aktiverat i serverdelsinställningen 30 sekunder
Användardefinierat värde när Anslut dränering aktiveras i serverdelsinställningen 1 till 3 600 sekunder

Det enda undantaget är begäranden som är bundna för avregistrering av instanser på grund av gatewayhanterad sessionstillhörighet och fortsätter att vidarebefordras till avregistreringsinstanserna.

Protokoll

Application Gateway stöder både HTTP och HTTPS för routningsbegäranden till serverdelsservrarna. Om du väljer HTTP är trafiken till serverdelsservrarna okrypterad. Om okrypterad kommunikation inte är acceptabel väljer du HTTPS.

Den här inställningen kombinerad med HTTPS i lyssnaren stöder TLS från slutpunkt till slutpunkt. På så sätt kan du på ett säkert sätt överföra känsliga data som krypterats till serverdelen. Varje serverdelsserver i serverdelspoolen som har TLS från slutpunkt till slutpunkt måste konfigureras med ett certifikat för att tillåta säker kommunikation.

Port

Den här inställningen anger den port där serverdelsservrarna lyssnar på trafik från programgatewayen. Du kan konfigurera portar från 1 till 65535.

Betrott rotcertifikat

Om du väljer HTTPS som serverdelsprotokoll kräver Application Gateway ett betrott rotcertifikat för att lita på serverdelspoolen för SSL från slutpunkt till slutpunkt. Som standard är alternativet Använd välkänt CA-certifikat inställt på Nej. Om du planerar att använda ett självsignerat certifikat eller ett certifikat som signerats av en intern certifikatutfärdare måste du ange det matchande offentliga certifikat som serverdelspoolen använder för Application Gateway. Det här certifikatet måste laddas upp direkt till Application Gateway i . CER-format.

Om du planerar att använda ett certifikat i serverdelspoolen som är signerad av en betrodd offentlig certifikatutfärdare kan du ange alternativet Använd välkänd CA-certifikat till Ja och hoppa över att ladda upp ett offentligt certifikat.

Timeout för begäran

Den här inställningen är det antal sekunder som programgatewayen väntar på att få ett svar från serverdelsservern.

Åsidosätt serverdelssökväg

Med den här inställningen kan du konfigurera en valfri anpassad vidarebefordran som ska användas när begäran vidarebefordras till serverdelen. Alla delar av den inkommande sökvägen som matchar den anpassade sökvägen i fältet åsidosättningssökväg kopieras till den vidarebefordrade sökvägen. Följande tabell visar hur den här funktionen fungerar:

  • När HTTP-inställningen är kopplad till en grundläggande regel för begärandedirigering:

    Ursprunglig begäran Åsidosätt serverdelssökväg Begäran vidarebefordras till serverdelen
    /Hem/ /Åsidosätta/ /override/home/
    /home/secondhome/ /Åsidosätta/ /override/home/secondhome/
  • När HTTP-inställningen är kopplad till en sökvägsbaserad regel för begärandedirigering:

    Ursprunglig begäran Sökvägsregel Åsidosätt serverdelssökväg Begäran vidarebefordras till serverdelen
    /pathrule/home/ /pathrule* /Åsidosätta/ /override/home/
    /pathrule/home/secondhome/ /pathrule* /Åsidosätta/ /override/home/secondhome/
    /Hem/ /pathrule* /Åsidosätta/ /override/home/
    /home/secondhome/ /pathrule* /Åsidosätta/ /override/home/secondhome/
    /pathrule/home/ /pathrule/home* /Åsidosätta/ /Åsidosätta/
    /pathrule/home/secondhome/ /pathrule/home* /Åsidosätta/ /override/secondhome/
    /pathrule/ /pathrule/ /Åsidosätta/ /Åsidosätta/

Använda anpassad avsökning

Den här inställningen associerar en anpassad avsökning med en HTTP-inställning. Du kan bara associera en anpassad avsökning med en HTTP-inställning. Om du inte uttryckligen associerar en anpassad avsökning används standardavsökningen för att övervaka hälsotillståndet för serverdelen. Vi rekommenderar att du skapar en anpassad avsökning för större kontroll över hälsoövervakningen av dina serverdelar.

Kommentar

Den anpassade avsökningen övervakar inte hälsotillståndet för serverdelspoolen om inte motsvarande HTTP-inställning uttryckligen är associerad med en lyssnare.

Konfigurera värdnamnet

Med Application Gateway kan anslutningen som upprättas till serverdelen använda ett annat värdnamn än det som används av klienten för att ansluta till Application Gateway. Även om den här konfigurationen kan vara användbar i vissa fall bör det göras med försiktighet att åsidosätta värdnamnet så att det skiljer sig mellan klienten och programgatewayen och programgatewayen till serverdelsmålet.

I produktion rekommenderar vi att du behåller värdnamnet som används av klienten mot programgatewayen som samma värdnamn som används av programgatewayen till serverdelsmålet. Detta undviker potentiella problem med absoluta URL:er, omdirigerings-URL:er och värdbundna cookies.

Innan du konfigurerar Application Gateway som avviker från detta bör du granska konsekvenserna av den konfiguration som beskrivs mer detaljerat i Architecture Center: Bevara det ursprungliga HTTP-värdnamnet mellan en omvänd proxy och dess serverdelswebbprogram

Det finns två aspekter av en HTTP-inställning som påverkar Host HTTP-huvudet som används av Application Gateway för att ansluta till serverdelen:

  • "Välj värdnamn från serverdelsadress"
  • "Åsidosättning av värdnamn"

Välj värdnamn från serverdelsadress

Den här funktionen anger dynamiskt värdhuvudet i begäran till värdnamnet för serverdelspoolen. Den använder en IP-adress eller ett fullständigt domännamn.

Den här funktionen hjälper till när domännamnet för serverdelen skiljer sig från DNS-namnet på programgatewayen, och serverdelen förlitar sig på en specifik värdrubrik för att matcha mot rätt slutpunkt.

Ett exempelfall är tjänster för flera klientorganisationer som serverdel. En apptjänst är en tjänst för flera innehavare som använder ett delat utrymme med en enda IP-adress. Därför kan en apptjänst endast nås via de värdnamn som har konfigurerats i de anpassade domäninställningarna.

Som standard är det anpassade domännamnet example.azurewebsites.net. Om du vill komma åt apptjänsten med hjälp av en programgateway via ett värdnamn som inte uttryckligen är registrerat i apptjänsten eller via programgatewayens FQDN kan du åsidosätta värdnamnet i den ursprungliga begäran till apptjänstens värdnamn. Det gör du genom att aktivera inställningen välj värdnamn från serverdelsadressen .

För en anpassad domän vars befintliga anpassade DNS-namn mappas till apptjänsten är den rekommenderade konfigurationen inte att aktivera värdnamnet från serverdelsadressen.

Kommentar

Den här inställningen krävs inte för App Service-miljön, vilket är en dedikerad distribution.

Åsidosättning av värdnamn

Den här funktionen ersätter värdhuvudet i den inkommande begäran på programgatewayen med det värdnamn som du anger.

Om www.contoso.com till exempel anges i inställningen Värdnamn ändras den ursprungliga begäran *https://appgw.eastus.cloudapp.azure.com/path1 till *https://www.contoso.com/path1 när begäran vidarebefordras till serverdelsservern.

Nästa steg