Bejövő forgalom a Azure Container Apps

Azure Container Apps lehetővé teszi, hogy a bejövő forgalom engedélyezésével tegye elérhetővé a tárolóalkalmazást a nyilvános weben, a virtuális hálózaton (VNET) és más tárolóalkalmazásokban a környezetben. A beérkező forgalom beállításait egy szabályrendszerrel érvényesítjük, amely a külső és belső forgalom konténeralkalmazásba való útvonal-irányítását szabályozza. A bejövő forgalom engedélyezésekor nem kell létrehoznia Azure Load Balancer, nyilvános IP-címet vagy bármely más Azure erőforrást a bejövő HTTP-kérések vagy a TCP (Transmission Control Protocol) forgalom engedélyezéséhez.

Az Ingress támogatja:

Példa bejövő konfiguráció két változat közötti bemeneti felosztásra:

Egy ábra, amely egy bejöveteli konfigurációt mutat, amely a forgalmat két változat között osztja fel.

A konfiguráció részleteiért lásd a bejövő forgalom konfigurálása részt.

Külső és belső bejövő forgalom

A bejövő forgalom engedélyezésekor kétféle bejövő forgalom közül választhat:

  • Külső: Az alkalmazást a Container Apps-környezet bejövő IP-címén keresztül teszi elérhetővé. Ha a környezet nyilvános bejövő IP-címet használ, az alkalmazás fogadhat forgalmat a nyilvános internetről, és az ugyanabban a környezetben lévő többi tárolóalkalmazásból is elérhető.

  • Belső: Az alkalmazás csak ugyanabból a Container Apps-környezetből érhető el, például más tárolóalkalmazásokból. Az alkalmazás nem érhető el közvetlenül a nyilvános internetről.

A környezeten belüli tárolóalkalmazások különböző bemeneti beállításokkal konfigurálhatók. Ha például több mikroszolgáltatás-alkalmazást használ, a biztonság növelése érdekében előfordulhat, hogy egyetlen tárolóalkalmazás fogadja a nyilvános kéréseket, és átadja a kéréseket egy háttérszolgáltatásnak. Ebben a forgatókönyvben a nyilvános elérésű tárolóalkalmazást külső bejövő forgalommal, a belső elérésű tárolóalkalmazást pedig belső bejövő forgalommal konfigurálná.

Protokolltípusok

A Container Apps két protokollt támogat a bejövő forgalomhoz: HTTP-t és TCP-t.

HTTP

Ha engedélyezve van a HTTP-bejövő forgalom, a tárolóalkalmazás a következőkkel rendelkezik:

  • TLS (Transport Layer Security) leállításának támogatása
  • HTTP/1.1 és HTTP/2 támogatása
  • A WebSocket és a gRPC támogatása
  • A mindig TLS 1.2-t vagy 1.3-at használó HTTPS-végpontok a bemeneti ponton leállnak
  • A 80-at (HTTP) és a 443-at (HTTPS-hez) elérhetővé tevő végpontok
    • Alapértelmezés szerint a 80-s portra irányuló HTTP-kérések automatikusan a 443-on https-ra lesznek átirányítva
  • Teljesen minősített tartománynév (FQDN)
  • A kérés időtúllépése 240 másodperc

HTTP-fejlécek

A HTTP-bejövő forgalom fejléceket ad hozzá az ügyfélkérés metaadatainak a tárolóalkalmazáshoz való továbbításához. A fejléc például annak X-Forwarded-Proto a protokollnak a azonosítására szolgál, amelyet az ügyfél a Container Apps szolgáltatáshoz való csatlakozáshoz használt. Az alábbi táblázat felsorolja azokat a HTTP-fejléceket, amelyek a Container Apps bejövő forgalmához kapcsolódnak.

Fejléc Leírás Értékek
X-Forwarded-Proto Az ügyfél által a Container Apps szolgáltatáshoz való csatlakozáshoz használt protokoll. http vagy https. Ez az érték az ügyfél által történő elküldés esetén felülíródik.
X-Forwarded-For A kérelmet küldő ügyfél IP-címei és/vagy köztes proxyi. A feladók IP-címei. Ha a kezdeti kérelemben meg van adva, a program hozzáfűzi. Csak a jobb szélső IP-címet adja meg a Azure Container Apps. Az IP-hamisítás megakadályozása érdekében a felhasználónak minden más értéket ellenőriznie kell.
X-Forwarded-Client-Cert Az ügyfél-tanúsítvány clientCertificateMode ha be van állítva. Pontosvesszővel elválasztott lista hash-ek, tanúsítványok és láncok. Például: Hash=....;Cert="...";Chain="...";. Ez az érték az ügyfél által történő elküldés esetén felülíródik.

TCP

A Container Apps nem HTTP- vagy HTTPS-alapú TCP-protokollokat támogat. A TCP-bejövő forgalom használatával például közzétehet egy Redis protokollt használó tárolóalkalmazást.

Megjegyzés

A külső TCP-bejövő forgalom csak virtuális hálózatot használó Container Apps-környezetekben támogatott.

Ha engedélyezve van a TCP-bejövő forgalom, a tárolóalkalmazás:

  • Az ugyanabban a környezetben lévő többi tárolóalkalmazás számára a neve (a name Container Apps-erőforrás tulajdonsága által definiált) és a közzétett portszámon keresztül érhető el.
  • Külsőleg elérhető a teljes tartománynévvel (FQDN) és a közzétett portszámmal, ha a bejövő forgalom értéke external.

További TCP-portok

A tárolóalkalmazások fő HTTP/TCP-portja mellett további TCP-portokat is közzétehet, amelyek lehetővé teszik a TCP-kapcsolatokat több porton elfogadó alkalmazások számára.

Megjegyzés

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

A következő további TCP-portokra vonatkozik:

  • Több TCP-port csak akkor lehet külső, ha maga az alkalmazás külsőként van beállítva, és a tárolóalkalmazás virtuális hálózatot használ.

  • Minden külsőleg közzétett extra TCP-portnak egyedinek kell lennie a teljes Container Apps-környezetben. Ez magában foglalja az összes külső extra TCP-portot, a külső fő TCP-portokat és a beépített HTTP-bejövő forgalom által használt 80/443-as portokat. Ha a további portok belsőek, ugyanazt a portot több alkalmazásban is megoszthatja.

  • Ha nincs megadva egy közzétett port, a közzétett port alapértelmezés szerint megfelel a célportnak.

  • Minden célportnak egyedinek kell lennie, és ugyanazt a célportot nem lehet különböző közzétett portokon elérhetővé tenni.

  • Alkalmazásonként legfeljebb öt portot adhat meg. Ha további portok szükségesek, nyisson meg egy támogatási kérést.

  • Csak a fő bejövő port támogatja a beépített HTTP-funkciókat, például a CORS-t és a munkamenet-affinitást. Ha a HTTP-t az extra TCP-portok tetején futtatja, ezek a beépített funkciók nem támogatottak.

  • A portszám 36985 a belső állapot-ellenőrzésekhez van fenntartva, és nem érhető el a TCP-alkalmazások vagy a HTTP-alkalmazások extra közzétett portjai számára.

További információ a további portok engedélyezéséről: Konfigurálja az alkalmazás bejövő forgalmát.

Tartománynevek

Az alkalmazás a következő módokon érhető el:

  • Az alapértelmezett teljes tartománynév (FQDN): A Container Apps-környezetben lévő összes alkalmazás automatikusan hozzárendel egy teljes tartománynevet a környezet DNS -utótagja alapján. Ezt az utótagot a CONTAINER_APP_ENV_DNS_SUFFIX környezeti változó határozza meg. A környezet DNS-utótagjának testreszabásához lásd az Egyéni környezet DNS-utótagját.

  • Egyéni tartománynév: Konfigurálhat egyéni DNS-tartományt a Container Apps-környezethez. További információ: Egyéni tartománynevek és tanúsítványok.

  • Az alkalmazás neve: Az alkalmazás nevét használhatja az ugyanabban a környezetben lévő alkalmazások közötti kommunikációhoz.

Az alkalmazás teljes tartománynevét a Tárolóalkalmazás helye (FQDN) című témakörben találhatja meg.

IP-korlátozások

A Container Apps támogatja a bejövő forgalom IP-korlátozásait. Szabályokat hozhat létre a tárolóalkalmazáshoz engedélyezett vagy megtagadott IP-címek konfigurálásához. További információ: IP-korlátozások konfigurálása.

Hitelesítés

Azure Container Apps beépített hitelesítési és engedélyezési funkciókat biztosít a külső bejövőforgalom-kompatibilis tárolóalkalmazás védelméhez. További információ: Hitelesítés és engedélyezés Azure Container Apps.

Az alkalmazást úgy konfigurálhatja, hogy támogassa az ügyféltanúsítványokat (mTLS) a hitelesítéshez és a forgalomtitkosításhoz. További információ: Ügyféltanúsítványok konfigurálása.

A társközi környezeti szintű hálózattitkosítás használatáról további információt a hálózatkezelési konfigurációban talál.

Forgalom felosztása

A Containers Apps lehetővé teszi a bejövő forgalom felosztását az aktív változatok között. Amikor meghatározza a felosztási szabályt, hozzárendeli a bejövő forgalom százalékát a különböző verziókhoz. További információ: Forgalom felosztása.

Munkamenet-affinitás

A munkamenet-affinitás( más néven ragadós munkamenetek) egy olyan funkció, amellyel az ügyféltől érkező ÖSSZES HTTP-kérést ugyanarra a tárolóalkalmazás-replikára irányíthatja. Ez a funkció olyan állapotalapú alkalmazásokhoz hasznos, amelyek konzisztens kapcsolatot igényelnek ugyanahhoz a replikához. További információ: Munkamenet-affinitás.

Forrásközi erőforrásmegosztás (CORS)

Alapértelmezés szerint a böngészőben egy lapról egy olyan tartományra irányuló kérések, amelyek nem felelnek meg a lap forrástartományának, le lesznek tiltva. A Container Appsben üzembe helyezett szolgáltatásokra vonatkozó korlátozás elkerülése érdekében engedélyezheti a forrásközi erőforrás-megosztást (CORS).

További információ: Configure CORS in Azure Container Apps.

Következő lépések