Inkomend verkeer configureren voor uw app in Azure Container Apps

In dit artikel leest u hoe u toegangsbeheerfuncties voor uw container-app inschakelt. Inkomend verkeer is een toepassingsbrede instelling. Wijzigingen in instellingen voor inkomend verkeer zijn van toepassing op alle revisies tegelijk en genereren geen nieuwe revisies.

Instellingen voor inkomend verkeer

U kunt de volgende eigenschappen van de sjabloon voor inkomend verkeer instellen:

Eigenschappen Beschrijving Waarden Vereist
allowInsecure Hiermee staat u onveilig verkeer naar uw container-app toe. Wanneer deze instelling is ingesteld op true HTTP-aanvragen naar poort 80, wordt niet automatisch omgeleid naar poort 443 via HTTPS, waardoor onveilige verbindingen worden toegestaan. false (standaard), true schakelt onveilige verbindingen in Nee
clientCertificateMode Clientcertificaatmodus voor mTLS-verificatie. Negeren geeft aan dat de server het clientcertificaat bij doorsturen laat vallen. Accepteren geeft aan dat server clientcertificaat doorstuurt, maar geen clientcertificaat vereist. Vereisen geeft aan dat voor de server een clientcertificaat is vereist. Required, , AcceptIgnore (standaard) Nee
customDomains Aangepaste domeinbindingen voor hostnamen van Container Apps. Aangepaste domeinen en certificaten bekijken Een matrix met bindingen Nee
exposedPort (Alleen TCP-inkomend verkeer) De poort TCP luistert. Als external dat het is true, moet de waarde uniek zijn in de Container Apps-omgeving. Een poortnummer van 1 naar 65535. (kan niet of 80443) Nee
external Inkomend verkeer naar uw app toestaan van buiten de Container Apps-omgeving. true of false(standaard) Ja
ipSecurityRestrictions Beperkingen voor inkomend IP-verkeer. Zie Beperkingen voor inkomend IP-verkeer instellen Een matrix met regels Nee
stickySessions.affinity Hiermee schakelt u sessieaffiniteit in. none (standaard), sticky Nee
targetPort De poort waar uw container naar luistert voor binnenkomende aanvragen. Stel deze waarde in op het poortnummer dat door uw container wordt gebruikt. Voor inkomend HTTP-verkeer wordt uw eindpunt voor inkomend verkeer van uw toepassing altijd weergegeven op poort 443. Ja
traffic Verkeer dat gewichten splitst tussen revisies. Een matrix met regels Nee
transport Het type transportprotocol. automatisch (standaard) detecteert HTTP/1 of HTTP/2, http voor HTTP/1, http2 voor HTTP/2, tcp voor TCP. Nee

Inkomend verkeer inschakelen

U kunt inkomend verkeer voor uw container-app configureren met behulp van de Azure CLI, een ARM-sjabloon of Azure Portal.

Met deze az containerapp ingress enable opdracht schakelt u inkomend verkeer in voor uw container-app. U moet de doelpoort opgeven en u kunt desgewenst de weergegeven poort instellen als uw transporttype is 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 argumenten voor inkomend verkeer:

Optie Eigenschappen Beschrijving Waarden Vereist
--type external Toegang tot uw app vanaf elke locatie toestaan of inkomend verkeer beperken tot de interne Container Apps-omgeving. external of internal Ja
--allow-insecure allowInsecure HTTP-verbindingen met uw app toestaan. Nee
--target-port targetPort De poort waar uw container naar luistert voor binnenkomende aanvragen. Stel deze waarde in op het poortnummer dat door uw container wordt gebruikt. Uw eindpunt voor inkomend verkeer van uw toepassing wordt altijd weergegeven op poort 443. Ja
--exposed-port exposedPort (Alleen TCP-inkomend verkeer) Een poort voor TCP-inkomend verkeer. Als external dat het zo is true, moet de waarde uniek zijn in de Container Apps-omgeving als inkomend verkeer extern is. Een poortnummer van 1 naar 65535. (kan niet of 80443) Nee
--transport Vervoer Het type transportprotocol. automatisch (standaard) detecteert HTTP/1 of HTTP/2, http voor HTTP/1, http2 voor HTTP/2, tcp voor TCP. Nee

Schakel inkomend verkeer in voor uw container-app met behulp van de portal.

U kunt inkomend verkeer inschakelen wanneer u uw container-app maakt of u kunt inkomend verkeer inschakelen voor een bestaande container-app.

  • Als u inkomend verkeer wilt configureren wanneer u uw container-app maakt, selecteert u Inkomend verkeer op het tabblad App Configuration van de wizard voor het maken van de container-app.
  • Als u inkomend verkeer voor een bestaande container-app wilt configureren, selecteert u Inkomend verkeer in het menu Instellingen van de resourcepagina van de container-app.

Inkomend verkeer inschakelen voor uw container-app:

U kunt inkomend verkeer configureren wanneer u uw container-app maakt met behulp van Azure Portal.

  1. Inkomend verkeer instellen op Ingeschakeld.
  2. Configureer de instellingen voor inkomend verkeer voor uw container-app.
  3. Selecteer Beperkt tot Container Apps Environment voor intern inkomend verkeer of verkeer vanaf elke locatie accepteren voor extern inkomend verkeer.
  4. Selecteer het type inkomend verkeer: HTTP of TCP (TCP-toegangsbeheerobject is alleen beschikbaar in omgevingen die zijn geconfigureerd met een aangepast VNET).
  5. Als HTTP is geselecteerd voor het type inkomend verkeer, selecteert u transport: Auto, HTTP/1 of HTTP/2.
  6. Selecteer Onveilige verbindingen als u HTTP-verbindingen met uw app wilt toestaan.
  7. Voer de doelpoort voor uw container-app in.
  8. Als u TCP hebt geselecteerd voor de optie Transport, voert u de poort Beschikbaar voor uw container-app in. Het weergegeven poortnummer kan aan .165535 (kan niet of 80443)

Op de pagina Instellingen voor inkomend verkeer voor uw container-app kunt u ook IP-beperkingen configureren. Zie IP-beperkingen voor informatie over het configureren van IP-beperkingen.

Schakel inkomend verkeer in voor uw container-app met behulp van de ingress configuratie-eigenschap. Stel de external eigenschap in op trueen stel uw transport en targetPort eigenschappen in.
-external eigenschap kan worden ingesteld op waar voor extern of onwaar voor inkomend verkeer.

  • Stel de transport optie in om auto HTTP/1 of HTTP/2 te detecteren, http voor HTTP/1, http2 voor HTTP/2 of tcp voor TCP.
  • Stel het targetPort poortnummer in dat door uw container wordt gebruikt. Uw eindpunt voor inkomend verkeer van uw toepassing wordt altijd weergegeven op poort 443.
  • Stel de exposedPort eigenschap in als het transporttype is tcp ingesteld op een poort voor TCP-inkomend verkeer. De waarde moet uniek zijn in de Container Apps-omgeving als inkomend verkeer extern is. Een poortnummer van 1 naar 65535. (kan niet of 80443)
{
  ...
  "configuration": {
    "ingress": {
        "external": true,
        "transport": "tcp",
        "targetPort": 80,
        "exposedPort": 8080,
    },
  }
}

Inkomend verkeer uitschakelen

Schakel inkomend verkeer voor uw container-app uit met behulp van de az containerapp ingress opdracht.

az containerapp ingress disable \
    --name <app-name> \
    --resource-group <resource-group> \

U kunt inkomend verkeer voor uw container-app uitschakelen met behulp van de portal.

  1. Selecteer Inkomend verkeer in het Instellingen menu van de pagina container-app.
  2. Deselecteer de instelling Inkomendverkeer ingeschakeld .
  3. Selecteer Opslaan.

Sceenshot of disabling container app ingress.

Schakel inkomend verkeer voor uw container-app uit door de ingress configuratie-eigenschap properties.configuration helemaal weg te laten.

Extra TCP-poorten gebruiken

U kunt extra TCP-poorten beschikbaar maken vanuit uw toepassing. Zie het conceptartikel voor inkomend verkeer voor meer informatie.

Notitie

Als u deze functie wilt gebruiken, moet u de CLI-extensie voor container-apps hebben. Voer az extension add -n containerapp deze opdracht uit om de nieuwste versie van de CLI-extensie voor container-apps te installeren.

U kunt extra TCP-poorten toevoegen via de CLI door te verwijzen naar een YAML-bestand met uw TCP-poortconfiguraties.

az containerapp create \
    --name <app-name> \
    --resource-group <resource-group> \
    --yaml <your-yaml-file>

Hier volgt een voorbeeld van een YAML-bestand waarnaar u kunt verwijzen in de bovenstaande CLI-opdracht. De configuratie voor de extra TCP-poorten bevindt zich onder 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

Deze functie wordt niet ondersteund in Azure Portal.

De volgende ARM-sjabloon bevat een voorbeeld van hoe u extra poorten kunt toevoegen aan uw container-apps. Elke extra poort moet worden toegevoegd in additionalPortMappings de ingress sectie voor configuration binnen properties voor de container-app. Hier volgt een voorbeeld:

{
  ...
  "properties": {
    ...
    "configuration": {
      "ingress": {
        ...
        "additionalPortMappings": [
          {
            "external": false
            "targetPort": 80
            "exposedPort": 12000
          }
        ]
      }
    }
  ...
}

Volgende stappen