Bejövő forgalom az Azure Container Appsben

Az 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 bejövő forgalom beállításait olyan szabályokkal kényszerítjük ki, amelyek a külső és belső forgalom tárolóalkalmazásba való átirányítását szabályozzák. A bejövő forgalom engedélyezésekor nem kell létrehoznia egy Azure Load Balancert, egy nyilvános IP-címet vagy bármely más Azure-erőforrást a bejövő HTTP-kérések vagy TCP-forgalom engedélyezéséhez.

A bejövő forgalom a következőket támogatja:

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

Diagram showing an ingress configuration splitting traffic between two revisions.

A konfiguráció részleteiért lásd a bejövő forgalom konfigurálását ismertető cikket.

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ő: Fogadja a nyilvános internetről és a tárolóalkalmazás belső környezetéből érkező forgalmat.
  • Belső: Csak belső hozzáférést engedélyez a tárolóalkalmazás környezetébő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-megszüntetés 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
  • Teljes tartománynév (FQDN)
  • A kérelem 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 a Container Apps bejövő forgalmára vonatkozó HTTP-fejléceket:

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
X-Forwarded-For A kérelmet küldő ügyfél IP-címe.
X-Forwarded-Host A Container Apps szolgáltatáshoz való csatlakozáshoz használt ügyfél állomásneve.
X-Forwarded-Client-Cert Ha be van állítva az ügyféltanúsítvány clientCertificateMode . Pontosvesszővel elválasztott lista kivonat, tanúsítvány és lánc. Például: Hash=....;Cert="...";Chain="...";

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.

Feljegyzés

A külső TCP-bejövő forgalom csak egyéni 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 "külső" értékre van állítva.

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.

Feljegyzés

Ehhez a funkcióhoz a container apps CLI-bővítmény legújabb előzetes verzióját kell használni.

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

  • További TCP-portok csak akkor lehetnek külsők, ha maga az alkalmazás külsőként van beállítva, és a tárolóalkalmazás egyéni virtuális hálózatot használ.
  • Minden külsőleg közzétett további TCP-portnak egyedinek kell lennie a teljes Container Apps-környezetben. Ez magában foglalja az összes külső további 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ás 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 5 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 a további TCP-portokon futtatja, ezek a beépített funkciók nem támogatottak.

A bejövő forgalomról szóló cikkben további információt talál arról, hogyan engedélyezheti a tárolóalkalmazások további portjait.

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. 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ének lekéréséhez tekintse meg a Hely című témakört.

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

Az 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 az Azure Container Appsben.

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.

Az mTLS környezeti szintű hálózattitkosításhoz való használatával kapcsolatos részletekért tekintse meg a hálózatkezelés áttekintését.

Forgalom felosztása

A Containers Apps lehetővé teszi a bejövő forgalom felosztását az aktív változatok között. A felosztási szabály meghatározásakor a bejövő forgalom százalékos arányát rendeli hozzá a különböző változatokhoz való ugráshoz. 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ó: CORS konfigurálása az Azure Container Appsben.

Következő lépések