Not
Åtkomst till denna sida kräver auktorisation. Du kan prova att logga in eller byta katalog.
Åtkomst till denna sida kräver auktorisation. Du kan prova att byta katalog.
Med Azure Container Apps kan du exponera din containerapp för den offentliga webben, ditt virtuella nätverk (VNET) och andra containerappar i din miljö genom att tillåta inkommande trafik. Ingressinställningar tillämpas via en uppsättning regler som styr routningen av extern och intern trafik till containerappen. När du aktiverar ingress behöver du inte skapa en Azure Load Balancer, offentlig IP-adress eller andra Azure-resurser för att aktivera inkommande HTTP-begäranden eller TCP-trafik (Transmission Control Protocol).
Ingress stöder:
- Extern och intern åtkomst
- Ingresstyper för HTTP och TCP
- Domännamn
- IP-begränsningar
- autentisering
- Trafikdelning mellan revisioner
- Sessionstillhörighet
Exempel på ingresskonfiguration som visar ingressdelning mellan två revisioner:
Konfigurationsinformation finns i Konfigurera ingress.
Extern och intern ingress
När du aktiverar ingress kan du välja mellan två typer av ingress:
- Extern: Accepterar trafik från både det offentliga Internet och containerappens interna miljö.
- Internt: Tillåter endast intern åtkomst inifrån containerappens miljö.
Varje containerapp i en miljö kan konfigureras med olika ingressinställningar. I ett scenario med flera mikrotjänstappar kan du till exempel ha en enda containerapp som tar emot offentliga begäranden och skickar begäranden till en bakgrundstjänst för att öka säkerheten. I det här scenariot konfigurerar du den offentliga containerappen med extern ingress och den interna containerappen med intern ingress.
Protokolltyper
Container Apps stöder två protokoll för inkommande: HTTP och TCP.
HTTP
När HTTP-ingressen är aktiverad har containerappen:
- Stöd för TLS-avslutning (Transport Layer Security)
- Stöd för HTTP/1.1 och HTTP/2
- Stöd för WebSocket och gRPC
- HTTPS-slutpunkter som alltid använder TLS 1.2 eller 1.3, avslutade vid ingresspunkten
- Slutpunkter som exponerar portarna 80 (för HTTP) och 443 (för HTTPS)
- Som standard omdirigeras HTTP-begäranden till port 80 automatiskt till HTTPS på 443
- Ett fullständigt domännamn (FQDN)
- Tidsgränsen för begäran är 240 sekunder
HTTP-rubriker
HTTP-ingress lägger till rubriker för att skicka metadata om klientbegäran till containerappen. Till exempel används X-Forwarded-Proto-huvudet för att identifiera vilket protokoll klienten använde för att ansluta till Container Apps-tjänsten. I följande tabell visas de HTTP-huvuden som är relevanta för ingress i Container Apps:
| Rubrik | Beskrivning | Värden |
|---|---|---|
X-Forwarded-Proto |
Protokoll som används av klienten för att ansluta till Container Apps-tjänsten. |
http eller https. Det här värdet skrivs över om det skickas av klienten. |
X-Forwarded-For |
IP-adresserna för klienten och/eller mellanliggande proxyservrar som skickade begäran. | IP-adresser för avsändare. Om det anges i den första begäran läggs den till. Endast den högra IP-adressen tillhandahålls av Azure Container Apps. Andra värden måste verifieras av användaren för att förhindra IP-förfalskning. |
X-Forwarded-Client-Cert |
Klientcertifikatet om clientCertificateMode är satt. |
Semikolonavgränsad lista över hash, certifikat och kedja. Till exempel: Hash=....;Cert="...";Chain="...";. Det här värdet skrivs över om det skickas av klienten. |
TCP
Container Apps stöder TCP-baserade protokoll som inte är HTTP- eller HTTPS-baserade. Du kan till exempel använda TCP-ingress för att exponera en containerapp som använder Redis-protokollet.
Anmärkning
Extern TCP-ingress stöds endast för Container Apps-miljöer som använder ett virtuellt nätverk.
När TCP-ingressen är aktiverad kan din containerapp:
- Är tillgänglig för andra containerappar i samma miljö via dess namn (definieras av
nameegenskapen i Container Apps-resursen) och exponerat portnummer. - Är tillgänglig externt via dess fullständigt kvalificerade domännamn (FQDN) och exponerat portnummer om ingressen är inställd på
external.
Ytterligare TCP-portar
Förutom den huvudsakliga HTTP/TCP-porten för dina containerappar kan du exponera ytterligare TCP-portar för att aktivera program som accepterar TCP-anslutningar på flera portar.
Anmärkning
Om du vill använda den här funktionen måste du ha CLI-tillägget för containerappar. Kör az extension add -n containerapp för att installera den senaste versionen av CLI-tillägget för containerappar.
Följande gäller för ytterligare TCP-portar:
Fler TCP-portar kan bara vara externa om själva appen har angetts som extern och containerappen använder ett virtuellt nätverk.
Alla externt exponerade extra TCP-portar måste vara unika i hela Container Apps-miljön. Detta omfattar alla extra externa TCP-portar, huvudsakliga externa TCP-portar och 80/443-portar som används av inbyggd HTTP-åtkomst. Om de extra portarna är interna kan du dela samma port mellan flera appar.
Om en exponerad port inte tillhandahålls, ställs den som standard in att matcha målporten.
Varje målport måste vara unik och samma målport kan inte exponeras på olika exponerade portar.
Det finns högst fem ytterligare portar per app. Om ytterligare portar krävs öppnar du en supportbegäran.
Endast den huvudsakliga ingressporten stöder inbyggda HTTP-funktioner som CORS och sessionstillhörighet. När du kör HTTP ovanpå de extra TCP-portarna stöds inte dessa inbyggda funktioner.
Portnummer
36985är reserverat för interna hälsokontroller och är inte tillgängligt för TCP-program eller extra exponerade portar i HTTP-program.
Mer information om hur du aktiverar extra portar finns i Konfigurera ingress för din app.
Domännamn
Du kan komma åt din app på följande sätt:
Det fullständiga domännamnet (FQDN) som standard: Varje app i en Container Apps-miljö tilldelas automatiskt ett FQDN baserat på miljöns DNS-suffix (Domain Name System). Det här suffixet
CONTAINER_APP_ENV_DNS_SUFFIXbestäms av miljövariabeln. Information om hur du anpassar en miljös DNS-suffix finns i DNS-suffix för anpassad miljö.Ett anpassat domännamn: Du kan konfigurera en anpassad DNS-domän för din Container Apps-miljö. Mer information finns i Anpassade domännamn och certifikat.
Appnamnet: Du kan använda appnamnet för kommunikation mellan appar i samma miljö.
Information om hur du hämtar FQDN för din app finns i Plats.
IP-begränsningar
Container Apps stöder IP-begränsningar för ingress. Du kan skapa regler för att antingen konfigurera IP-adresser som tillåts eller nekas åtkomst till din containerapp. Mer information finns i Konfigurera IP-begränsningar.
Autentisering
Azure Container Apps tillhandahåller inbyggda funktioner för autentisering och auktorisering för att skydda din externa ingressaktiverade containerapp. Mer information finns i Autentisering och auktorisering i Azure Container Apps.
Du kan konfigurera din app så att den stöder klientcertifikat (mTLS) för autentisering och trafikkryptering. Mer information finns i Konfigurera klientcertifikat.
Mer information om hur du använder nätverkskryptering på peer-to-peer-miljönivå finns i Nätverkskonfiguration.
Trafikdelning
Med Containers Apps kan du dela upp inkommande trafik mellan aktiva revisioner. När du definierar en delningsregel, fördelar du den procentandel av inkommande trafik som ska skickas till olika revisioner. Mer information finns i Trafikdelning.
Sessionstillhörighet
Sessionstillhörighet, även kallat klibbiga sessioner, är en funktion som gör att du kan dirigera alla HTTP-begäranden från en klient till samma containerappreplik. Den här funktionen är användbar för tillståndskänsliga program som kräver en konsekvent anslutning till samma replik. Mer information finns i Sessionstillhörighet.
Delning av resurser mellan olika ursprung (CORS)
Som standard blockeras alla begäranden som görs via webbläsaren från en sida till en domän som inte matchar sidans ursprungsdomän. För att undvika den här begränsningen för tjänster som distribueras till Container Apps kan du aktivera resursdelning mellan ursprung (CORS).
Mer information finns i Konfigurera CORS i Azure Container Apps.