Konfigurera ingress för din app i Azure Container Apps
Den här artikeln visar hur du aktiverar ingressfunktioner för din containerapp. Ingress är en programomfattande inställning. Ändringar i ingressinställningarna gäller för alla revisioner samtidigt och genererar inte nya revisioner.
Ingressinställningar
Du kan ange följande egenskaper för ingressmallar:
Property | Beskrivning | Värden | Obligatoriskt |
---|---|---|---|
allowInsecure |
Tillåter osäker trafik till containerappen. När det är inställt på true HTTP-begäranden till port 80 omdirigeras inte automatiskt till port 443 med HTTPS, vilket tillåter osäkra anslutningar. |
false (standard) true aktiverar osäkra anslutningar |
Nej |
clientCertificateMode |
Klientcertifikatläge för mTLS-autentisering. Ignorera anger att servern släpper klientcertifikatet vid vidarebefordran. Accept anger att servern vidarebefordrar klientcertifikatet men inte kräver något klientcertifikat. Kräv anger att servern kräver ett klientcertifikat. | Required , Accept , Ignore (standard) |
Nej |
customDomains |
Anpassade domänbindningar för Container Apps värdnamn. Se Anpassade domäner och certifikat | En matris med bindningar | Nej |
exposedPort |
(Endast TCP-ingress) Port-TCP lyssnar på. Om external är true måste värdet vara unikt i Container Apps-miljön. |
Ett portnummer från 1 till 65535 . (kan inte vara 80 eller 443 ) |
Nej |
external |
Tillåt ingress till din app utanför containerappmiljön. | true eller false (standard) |
Ja |
ipSecurityRestrictions |
Begränsningar för IP-ingress. Se Konfigurera begränsningar för IP-ingress | En matris med regler | Nej |
stickySessions.affinity |
Aktiverar sessionstillhörighet. | none (standard) sticky |
Nej |
targetPort |
Porten som containern lyssnar på efter inkommande begäranden. | Ange det här värdet till det portnummer som containern använder. För HTTP-ingress exponeras programmets ingressslutpunkt alltid på porten 443 . |
Ja |
traffic |
Trafikdelningsvikter uppdelade mellan revisioner. | En matris med regler | Nej |
transport |
Typ av transportprotokoll. | automatiskt (standard) identifierar HTTP/1 eller HTTP/2, http för HTTP/1, http2 för HTTP/2, tcp för TCP. |
Nej |
Inaktivera ingress
Du kan konfigurera ingress för din containerapp med hjälp av Azure CLI, en ARM-mall eller Azure Portal.
Det här az containerapp ingress enable
kommandot aktiverar ingress för din containerapp. Du måste ange målporten och du kan också ange den exponerade porten om din transporttyp är tcp
.
az containerapp ingress enable \
--name <app-name> \
--resource-group <resource-group> \
--target-port <target-port> \
--exposed-port <tcp-exposed-port> \
--transport <transport> \
--type <external>
--allow-insecure
az containerapp ingress enable
ingressargument:
Alternativ | Property | Beskrivning | Värden | Obligatoriskt |
---|---|---|---|---|
--type |
extern | Tillåt ingress till din app var som helst eller begränsa ingressen till den interna Container Apps-miljön. | external eller internal |
Ja |
--allow-insecure |
allowInsecure | Tillåt HTTP-anslutningar till din app. | Nej | |
--target-port |
targetPort | Porten som containern lyssnar på efter inkommande begäranden. | Ange det här värdet till det portnummer som containern använder. Programmets ingressslutpunkt exponeras alltid på port 443 . |
Ja |
--exposed-port |
exposedPort | (Endast TCP-ingress) En port för TCP-ingress. Om external är true måste värdet vara unikt i Container Apps-miljön om ingressen är extern. |
Ett portnummer från 1 till 65535 . (kan inte vara 80 eller 443 ) |
Nej |
--transport |
transport | Typ av transportprotokoll. | automatiskt (standard) identifierar HTTP/1 eller HTTP/2, http för HTTP/1, http2 för HTTP/2, tcp för TCP. |
Nej |
Aktivera ingress för din containerapp med hjälp av portalen.
Du kan aktivera inkommande när du skapar din containerapp, eller så kan du aktivera ingress för en befintlig containerapp.
- Om du vill konfigurera ingress när du skapar din containerapp väljer du Ingress på fliken Appkonfiguration i guiden skapa containerapp.
- Om du vill konfigurera ingress för en befintlig containerapp väljer du Ingress på menyn Inställningar på resurssidan för containerappen.
Aktivera ingress för din containerapp:
Du kan konfigurera ingress när du skapar din containerapp med hjälp av Azure Portal.
- Ange Ingress till Aktiverad.
- Konfigurera ingressinställningarna för containerappen.
- Välj Begränsad till Container Apps Environment för intern ingress eller Acceptera trafik var som helst för extern ingress.
- Välj ingresstyp: HTTP eller TCP (TCP-ingress är endast tillgängligt i miljöer som konfigurerats med ett anpassat virtuellt nätverk).
- Om HTTP har valts för ingresstypen väljer du Transport: Auto, HTTP/1 eller HTTP/2.
- Välj Osäkra anslutningar om du vill tillåta HTTP-anslutningar till din app.
- Ange målporten för containerappen.
- Om du har valt TCP för alternativet Transport anger du den exponerade porten för containerappen. Det exponerade portnumret kan vara
1
till65535
. (kan inte vara80
eller443
)
På sidan Ingress-inställningar för containerappen kan du också konfigurera IP-begränsningar. Information om hur du konfigurerar IP-begränsning finns i IP-begränsningar.
Aktivera ingress för containerappen med hjälp av konfigurationsegenskapen ingress
. external
Ange egenskapen till true
och ange dina transport
egenskaper och targetPort
.
-external
egenskapen kan anges till true för extern eller falsk för intern ingress.
transport
Ange tillauto
för att identifiera HTTP/1 eller HTTP/2,http
för HTTP/1,http2
FÖR HTTP/2 ellertcp
för TCP.targetPort
Ange till det portnummer som containern använder. Programmets ingressslutpunkt exponeras alltid på port443
.- Ange egenskapen
exposedPort
om transporttypen ärtcp
till en port för TCP-ingress. Värdet måste vara unikt i Container Apps-miljön om ingressen är extern. Ett portnummer från1
till65535
. (kan inte vara80
eller443
)
{
...
"configuration": {
"ingress": {
"external": true,
"transport": "tcp",
"targetPort": 80,
"exposedPort": 8080,
},
}
}
Inaktivera ingress
Inaktivera ingress för containerappen az containerapp ingress
med hjälp av kommandot .
az containerapp ingress disable \
--name <app-name> \
--resource-group <resource-group> \
Du kan inaktivera ingress för din containerapp med hjälp av portalen.
- Välj Ingress på menyn Inställningar på sidan containerapp.
- Avmarkera inställningen Ingångsaktiverad.
- Välj Spara.
Inaktivera ingress för containerappen genom att utelämna konfigurationsegenskapen ingress
helt och properties.configuration
hållet.
Använda andra TCP-portar
Du kan exponera ytterligare TCP-portar från ditt program. Mer information finns i artikeln om ingresskoncept.
Kommentar
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.
Du kan lägga till andra TCP-portar via CLI genom att referera till en YAML-fil med dina TCP-portkonfigurationer.
az containerapp create \
--name <app-name> \
--resource-group <resource-group> \
--yaml <your-yaml-file>
Följande är en YAML-exempelfil som du kan referera till i CLI-kommandot ovan. Konfigurationen för de ytterligare TCP-portarna finns under additionalPortMappings
.
location: northcentralus
name: multiport-example
properties:
configuration:
activeRevisionsMode: Single
ingress:
additionalPortMappings:
- exposedPort: 21025
external: false
targetPort: 1025
allowInsecure: false
external: true
targetPort: 1080
traffic:
- latestRevision: true
weight: 100
transport: http
managedEnvironmentId: <env id>
template:
containers:
- image: maildev/maildev
name: maildev
resources:
cpu: 0.25
memory: 0.5Gi
scale:
maxReplicas: 1
minReplicas: 1
workloadProfileName: Consumption
type: Microsoft.App/containerApps
- Expandera avsnittet Ytterligare TCP-portar på bladet Ingress.
- Lägg till ytterligare TCP-portar som programmet tar emot trafik på i fältet Målport . Om den exponerade porten lämnas tom kommer detta att hämtas från samma värde som anges i Målporten.
- Ändra fältet Inkommande trafik efter behov. Detta konfigurerar var inkommande trafik ska begränsas till för varje port.
- När det är klart klickar du på Spara.
Följande ARM-mall innehåller ett exempel på hur du kan lägga till ytterligare portar i dina containerappar. Varje ytterligare port ska läggas till under additionalPortMappings
i avsnittet ingress
för configuration
inom properties
för containerappen. Följande utgör ett exempel:
{
...
"properties": {
...
"configuration": {
"ingress": {
...
"additionalPortMappings": [
{
"external": false
"targetPort": 80
"exposedPort": 12000
}
]
}
}
...
}