Dela via


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 truemå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 truemå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 Ingressfliken Appkonfiguration i guiden skapa containerapp.
  • Om du vill konfigurera ingress för en befintlig containerapp väljer du Ingressmenyn 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.

  1. Ange Ingress till Aktiverad.
  2. Konfigurera ingressinställningarna för containerappen.
  3. Välj Begränsad till Container Apps Environment för intern ingress eller Acceptera trafik var som helst för extern ingress.
  4. Välj ingresstyp: HTTP eller TCP (TCP-ingress är endast tillgängligt i miljöer som konfigurerats med ett anpassat virtuellt nätverk).
  5. Om HTTP har valts för ingresstypen väljer du Transport: Auto, HTTP/1 eller HTTP/2.
  6. Välj Osäkra anslutningar om du vill tillåta HTTP-anslutningar till din app.
  7. Ange målporten för containerappen.
  8. Om du har valt TCP för alternativet Transport anger du den exponerade porten för containerappen. Det exponerade portnumret kan vara 1 till 65535. (kan inte vara 80 eller 443)

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 trueoch ange dina transport egenskaper och targetPort . -external egenskapen kan anges till true för extern eller falsk för intern ingress.

  • transport Ange till auto för att identifiera HTTP/1 eller HTTP/2, http för HTTP/1, http2 FÖR HTTP/2 eller tcp för TCP.
  • targetPort Ange till det portnummer som containern använder. Programmets ingressslutpunkt exponeras alltid på port 443.
  • Ange egenskapen exposedPort om transporttypen är tcp 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ån 1 till 65535. (kan inte vara 80 eller 443)
{
  ...
  "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.

  1. Välj Ingressmenyn Inställningar på sidan containerapp.
  2. Avmarkera inställningen Ingångsaktiverad.
  3. Välj Spara.

Sceenshot av ingress för containerappen.

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

Skärmbild av att lägga till ytterligare TCP-portar för Container Apps-ingress via portalen.

  1. Expandera avsnittet Ytterligare TCP-portar på bladet Ingress.
  2. 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.
  3. Ändra fältet Inkommande trafik efter behov. Detta konfigurerar var inkommande trafik ska begränsas till för varje port.
  4. 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
          }
        ]
      }
    }
  ...
}

Nästa steg