Az alkalmazás bejövő forgalmának konfigurálása az Azure Container Appsben

Ez a cikk bemutatja, hogyan engedélyezheti a bejövő szolgáltatásokat a tárolóalkalmazáshoz. A bejövő forgalom egy alkalmazásszintű beállítás. A bejövő forgalom beállításainak módosítása az összes változatra egyszerre vonatkozik, és nem hoz létre új változatokat.

Bejövő forgalom beállításai

A következő bejövőforgalom-sablontulajdonságokat állíthatja be:

Tulajdonság Leírás Értékek Kötelező
allowInsecure Engedélyezi a tárolóalkalmazás nem biztonságos forgalmát. Ha be van állítva, a true80-s portra irányuló HTTP-kérések nem lesznek automatikusan átirányítva a 443-as portra HTTPS használatával, ami nem biztonságos kapcsolatokat tesz lehetővé. false (alapértelmezett) true nem biztonságos kapcsolatok engedélyezése Nem
clientCertificateMode Ügyféltanúsítvány mód az mTLS-hitelesítéshez. Ignore azt jelzi, hogy a kiszolgáló elveti az ügyféltanúsítványt a továbbításkor. Accept azt jelzi, hogy a kiszolgáló továbbítja az ügyféltanúsítványt, de nem igényel ügyféltanúsítványt. Require azt jelzi, hogy a kiszolgáló ügyféltanúsítványt igényel. Required, Accept, Ignore (alapértelmezett) Nem
customDomains Egyéni tartománykötések a Container Apps gazdagépnevéhez. Egyéni tartományok és tanúsítványok megtekintése Kötések tömbje Nem
exposedPort (csak TCP-bejövő forgalom esetén) A port TCP-jének figyelése. Ha external igen true, az értéknek egyedinek kell lennie a Container Apps-környezetben. Portszám innen: 165535. (nem lehet 80 vagy 443) Nem
external Engedélyezze az alkalmazásba való bejövő forgalmat a Container Apps-környezeten kívülről. true vagy false(alapértelmezett) Igen
ipSecurityRestrictions IP-bejövő forgalom korlátozásai. Lásd: IP-bejövő forgalom korlátozásainak beállítása Szabályok tömbje Nem
stickySessions.affinity Engedélyezi a munkamenet-affinitást. none (alapértelmezett), sticky Nem
targetPort Az a port, amelyen a tárolóalkalmazás figyeli a bejövő kéréseket. Állítsa be ezt az értéket a tárolóalkalmazás által használt portszámra. HTTP-bejövő forgalom esetén az alkalmazás bejövő végpontja mindig elérhető a porton 443. Igen
traffic A forgalomfelosztási súlyok a változatok között oszlanak el. Szabályok tömbje Nem
transport A átviteli protokoll típusa. auto (alapértelmezett) észleli a HTTP/1 vagy HTTP/2 protokollt, http a HTTP/1 protokollhoz, http2 a HTTP/2 protokollhoz, tcp a TCP protokollhoz. Nem

Automatikus portészlelés

Ha a tárolóalkalmazásban engedélyezve van a HTTP-bejövő forgalom, és nem állít be célportot, az Azure Container Apps automatikusan észleli a célportot a tároló összes figyelési portjának vizsgálatával. Ha csak egy portot észlelt, az a tárolóalkalmazás célportjaként van beállítva. Ha egynél több portot észlel, a tárolóalkalmazás nem állítja be automatikusan a célportot, és manuálisan kell beállítania a célportot.

  • Az automatikus portészlelés csak HTTP-forgalom esetén működik, TCP-forgalom esetén nem.
  • Ha HTTP-állapotminták figyelik a 80-at vagy a 443-at, ez a konfiguráció megzavarhatja az automatikus portészlelést. Az alapértelmezett bejövő konfiguráció TCP-állapotmintákat használ. További információért tekintse meg az állapotellenőrzéseket.

Bejövő forgalom engedélyezése

A tárolóalkalmazás bejövő forgalmát az Azure CLI, egy ARM-sablon vagy az Azure Portal használatával konfigurálhatja.

A az containerapp ingress enable parancs engedélyezi a tárolóalkalmazás bejövő forgalmát. Meg kell adnia a célportot, és igény szerint beállíthatja a közzétett portot, ha az átvitel típusa .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 bejövő argumentumok:

Lehetőség Tulajdonság Leírás Értékek Kötelező
--type külső Bárhonnan engedélyezheti az alkalmazásba való bejövő forgalmat, vagy korlátozhatja a belső Container Apps-környezetbe való bemenő forgalmat. external vagy internal Igen
--allow-insecure allowInsecure HTTP-kapcsolatok engedélyezése az alkalmazáshoz. Nem
--target-port célport Az a port, amelyen a tároló figyeli a bejövő kéréseket. Állítsa be ezt az értéket a tároló által használt portszámra. Az alkalmazás bejövő végpontja mindig elérhető a porton 443. Igen
--exposed-port nyitott port (csak TCP-bejövő forgalom esetén) A TCP-bejövő forgalom portja. Ha external igen true, az értéknek egyedinek kell lennie a Container Apps-környezetben, ha a bejövő forgalom külső. Portszám innen: 165535. (nem lehet 80 vagy 443) Nem
--transport szállítás A átviteli protokoll típusa. Az automatikus (alapértelmezett) http/1 vagy HTTP/2 http/1, httphttp2 HTTP/2 és TCP esetén HTTP/2 esetén észleli a HTTP/1 vagy a HTTP/2 tcp protokollt. Nem

Engedélyezze a bejövő forgalmat a tárolóalkalmazáshoz a portál használatával.

Engedélyezheti a bejövő forgalmat a tárolóalkalmazás létrehozásakor, vagy engedélyezheti a bejövő forgalmat egy meglévő tárolóalkalmazáshoz.

  • A tárolóalkalmazás létrehozásakor a bejövő forgalom konfigurálásához válassza a Bejövő forgalom lehetőséget a tárolóalkalmazás-létrehozási varázsló Alkalmazáskonfiguráció lapján.
  • Meglévő tárolóalkalmazás bejövő forgalmának konfigurálásához válassza a Bejövő forgalom lehetőséget a tárolóalkalmazás erőforráslapjának Beállítások menüjében.

A konténer alkalmazás engedélyezése az ingress számára

A bejövő forgalom konfigurálható a tárolóalkalmazás létrehozásakor az Azure Portal használatával.

  1. A bejövő forgalombeállítása engedélyezve.
  2. Konfigurálja a tárolóalkalmazás bejövő forgalmának beállításait.
  3. Válassza a Korlátozott tárolóalkalmazás-környezet lehetőséget a belső bejövő forgalomhoz vagy a forgalom elfogadásához bárhonnan külső bejövő forgalomhoz.
  4. Válassza ki a bejövő forgalom típusát: HTTP vagy TCP (a TCP-bejövő forgalom csak virtuális hálózattal konfigurált környezetekben érhető el).
  5. Ha a HTTP van kiválasztva a bejövő forgalom típusához, válassza az Átvitel: Automatikus, HTTP/1 vagy HTTP/2 lehetőséget.
  6. Ha engedélyezni szeretné a HTTP-kapcsolatokat az alkalmazáshoz, válassza a Nem biztonságos kapcsolatok lehetőséget.
  7. Adja meg a tárolóalkalmazás célportját .
  8. Ha a TCP-t választotta az Átvitel beállításhoz, adja meg a tárolóalkalmazás közzétett portját. A közzétett portszám lehet 1 a következő 65535: . (nem lehet 80 vagy 443)

A tárolóalkalmazás bejövőforgalom-beállításainak lapja lehetővé teszi az IP-korlátozások konfigurálását is. Az IP-korlátozás konfigurálására vonatkozó információkért tekintse meg az IP-korlátozások című témakört.

Engedélyezze a bejövő forgalmat a tárolóalkalmazáshoz a ingress konfigurációs tulajdonság használatával. Állítsa be a external tulajdonságot a következőretrue, és állítsa be a saját és transport a targetPort tulajdonságokat.

  • Állítsa a externaltulajdonságot igaz értékre külső bejövő forgalom esetén, belső bejövő forgalom esetén pedig hamis értékre.
  • Állítsa be a transportauto HTTP/1 vagy HTTP/2 észlelésére, http HTTP/1, http2 HTTP/2 vagy tcp TCP esetén.
  • Állítsa be a targetPort tároló által használt portszámot. Az alkalmazás bejövő végpontja mindig elérhető a porton 443.
  • Adja meg a exposedPort tulajdonságot, ha az átviteli típus a TCP-bejövő forgalom portjához tartozik tcp . Az értéknek egyedinek kell lennie a Container Apps-környezetben, ha a bejövő forgalom külső. Portszám innen: 165535. (nem lehet 80 vagy 443)
{
  ...
  "configuration": {
    "ingress": {
        "external": true,
        "transport": "tcp",
        "targetPort": 80,
        "exposedPort": 8080,
    },
  }
}

Bejövő forgalom letiltása

Tiltsa le a tárolóalkalmazás bejövő forgalmát a az containerapp ingress parancs használatával.

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

A portál használatával letilthatja a tárolóalkalmazás hálózati hozzáférését.

  1. Válassza a Bejövő forgalom lehetőséget a Tárolóalkalmazás lap Beállítások menüjében.
  2. Törölje a jelölést a Bejövő forgalomengedélyezve beállításból.
  3. Válassza a Mentés lehetőséget.

Képernyőkép a tárolóalkalmazás bejövő forgalmának letiltásáról.

Tiltsa le a tárolóalkalmazás bejövő forgalmát a ingress konfigurációs tulajdonság properties.configuration teljes kihagyásával.

Más TCP-portok használata

További TCP-portokat is közzétehet az alkalmazásból. További információkért tekintse meg a belépési pont koncepcióját ismertető cikket.

Feljegyzés

A funkció használatához szüksége van a container apps CLI-bővítményére. Futtassa az extension add -n containerapp a container apps CLI-bővítmény legújabb verziójának telepítéséhez.

A parancssori felületen további TCP-portokat is hozzáadhat, ha egy YAML-fájlra hivatkozik a TCP-portkonfigurációkkal.

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

Az alábbi példa egy YAML-fájlt mutat be, amelyre az előző CLI-parancsban hivatkozhat. A további TCP-portok konfigurációja a additionalPortMappings alatt található.

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

Képernyőkép további TCP-portok hozzáadásáról a Container Apps portálon keresztüli bejövő forgalmához.

  1. Bontsa ki a További TCP-portok szakaszt a Bejövő forgalom panelen.
  2. Adjon hozzá további TCP-portokat, amelyeken az alkalmazás fogadja a forgalmat a Célport mezőben. Ha üresen hagyja az Exponált portot , az ugyanazt az értéket használja, mint a Célport.
  3. Szükség szerint módosítsa a bejövő forgalom mezőt. Ez a mező azt konfigurálja, hogy a bejövő forgalom hol korlátozódik az egyes portokra.
  4. Amikor végzett, kattintson a Mentés gombra.

Az alábbi ARM-sablon bemutatja, hogyan adhat hozzá további portokat a tárolóalkalmazásaihoz. Adjon hozzá minden további portot a additionalPortMappings tárolóalkalmazáshoz tartozó ingressconfiguration szakasz alattproperties. Az alábbi példa bemutatja, hogyan adhat hozzá további portokat:

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

Következő lépések