Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
W tym artykule pokazano, jak włączyć funkcje ruchu przychodzącego dla aplikacji kontenera. Ruch przychodzący to ustawienie dla całej aplikacji. Zmiany ustawień ruchu przychodzącego mają zastosowanie do wszystkich poprawek jednocześnie i nie generują nowych poprawek.
Ustawienia ruchu przychodzącego
Można ustawić następujące właściwości szablonu ruchu przychodzącego:
| Właściwości | opis | Wartości | Wymagania |
|---|---|---|---|
allowInsecure |
Zezwala na niezabezpieczony ruch do aplikacji kontenera. Gdy ustawiono true, żądania HTTP do portu 80 nie są automatycznie przekierowywane do portu 443 przy użyciu protokołu HTTPS, co umożliwia niezabezpieczone połączenia. |
false (ustawienie domyślne), true włącza niezabezpieczone połączenia |
Nie. |
clientCertificateMode |
Tryb certyfikatu klienta na potrzeby uwierzytelniania mTLS.
Ignore wskazuje, że serwer odrzuca certyfikat klienta podczas przekazywania dalej.
Accept wskazuje serwer przekazuje certyfikat klienta, ale nie wymaga certyfikatu klienta.
Require wskazuje, że serwer wymaga certyfikatu klienta. |
Required, , Accept( Ignore wartość domyślna) |
Nie. |
customDomains |
Powiązania domeny niestandardowej dla nazw hostów usługi Container Apps. Zobacz Niestandardowe domeny i certyfikaty | Tablica powiązań | Nie. |
exposedPort |
(Tylko ruch przychodzący TCP) Port TCP nasłuchuje. Jeśli external wartość to true, wartość musi być unikatowa w środowisku usługi Container Apps. |
Numer portu z 1 do 65535. (nie może być 80 lub 443) |
Nie. |
external |
Zezwalaj na ruch przychodzący do aplikacji spoza środowiska usługi Container Apps. |
true lub false(wartość domyślna) |
Tak |
ipSecurityRestrictions |
Ograniczenia ruchu przychodzącego adresów IP. Zobacz Konfigurowanie ograniczeń ruchu przychodzącego adresów IP | Tablica reguł | Nie. |
stickySessions.affinity |
Włącza koligację sesji. |
none (wartość domyślna), sticky |
Nie. |
targetPort |
Port aplikacji kontenera nasłuchuje żądań przychodzących. | Ustaw tę wartość na numer portu używany przez aplikację kontenera. W przypadku ruchu przychodzącego HTTP punkt końcowy ruchu przychodzącego aplikacji jest zawsze uwidoczniony na porcie 443. |
Tak |
traffic |
Podział wagi ruchu między poprawkami. | Tablica reguł | Nie. |
transport |
Typ protokołu transportowego. |
auto (ustawienie domyślne) wykrywa HTTP/1 lub HTTP/2, http dla HTTP/1, http2 dla HTTP/2, tcp dla TCP. |
Nie. |
Automatyczne wykrywanie portów
Jeśli aplikacja kontenera ma włączony ruch przychodzący HTTP i nie ustawisz portu docelowego, usługa Azure Container Apps automatycznie wykrywa port docelowy, przeskanując wszystkie porty nasłuchiwania w kontenerze. Jeśli wykryto tylko jeden port, ten port jest ustawiony jako port docelowy dla aplikacji kontenera. Jeśli wykryto więcej niż jeden port, aplikacja kontenera nie ustawia automatycznie portu docelowego i musisz ręcznie ustawić port docelowy.
- Automatyczne wykrywanie portów działa tylko dla ruchu HTTP, a nie ruchu TCP.
- Jeśli masz sondy stanu HTTP nasłuchujące na portach 80 lub 443, ta konfiguracja może zakłócać automatyczne wykrywanie portów. Domyślna konfiguracja ruchu przychodzącego używa sond kondycji TCP. Aby uzyskać więcej informacji, zobacz sondy kondycji.
Włączanie ruchu przychodzącego
Ruch przychodzący dla aplikacji kontenera można skonfigurować przy użyciu interfejsu wiersza polecenia platformy Azure, szablonu usługi ARM lub witryny Azure Portal.
Polecenie az containerapp ingress enable włącza ruch przychodzący dla aplikacji kontenera. Musisz określić port docelowy i opcjonalnie można ustawić uwidoczniony port, jeśli typ transportu to 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 argumenty ruchu przychodzącego:
| Opcja | Właściwości | opis | Wartości | Wymagania |
|---|---|---|---|---|
--type |
zewnętrzny | Zezwalaj na ruch przychodzący do aplikacji z dowolnego miejsca lub ogranicz ruch przychodzący do wewnętrznego środowiska usługi Container Apps. |
external lub internal |
Tak |
--allow-insecure |
allowInsecure (zezwalać) | Zezwalaj na połączenia HTTP z aplikacją. | Nie. | |
--target-port |
port docelowy | Port, na który kontener nasłuchuje żądań przychodzących. | Ustaw tę wartość na numer portu używany przez kontener. Punkt końcowy ruchu przychodzącego aplikacji jest zawsze uwidaczniony na porcie 443. |
Tak |
--exposed-port |
Odsłonięty Port | (Tylko ruch przychodzący TCP) Port dla ruchu przychodzącego TCP. Jeśli external wartość to true, wartość musi być unikatowa w środowisku usługi Container Apps, jeśli ruch przychodzący jest zewnętrzny. |
Numer portu z 1 do 65535. (nie może być 80 lub 443) |
Nie. |
--transport |
transport | Typ protokołu transportowego. | Auto (ustawienie domyślne) wykrywa protokół HTTP/1 lub HTTP/2, http dla protokołu HTTP/1, http2 dla protokołu HTTP/2 dla tcp protokołu TCP. |
Nie. |
Włącz ruch przychodzący dla aplikacji kontenera przy użyciu portalu.
Ruch przychodzący można włączyć podczas tworzenia aplikacji kontenera lub włączyć ruch przychodzący dla istniejącej aplikacji kontenera.
- Aby skonfigurować ruch przychodzący podczas tworzenia aplikacji kontenera, wybierz pozycję Ruch przychodzący na karcie Konfiguracja aplikacji kreatora tworzenia aplikacji kontenera.
- Aby skonfigurować ruch przychodzący dla istniejącej aplikacji kontenera, wybierz pozycję Ruch przychodzący z menu Ustawienia strony zasobu aplikacji kontenera.
Włączanie ruchu przychodzącego dla aplikacji kontenera
Ruch przychodzący można skonfigurować podczas tworzenia aplikacji kontenera przy użyciu witryny Azure Portal.
- Ustaw opcję Ruch przychodzący na wartość Włączone.
- Skonfiguruj ustawienia ruchu przychodzącego dla aplikacji kontenera.
- Wybierz pozycję Ograniczone do środowiska aplikacji kontenera dla ruchu przychodzącego wewnętrznego lub Akceptowanie ruchu z dowolnego miejsca dla ruchu przychodzącego zewnętrznego.
- Wybierz typ ruchu przychodzącego: HTTP lub TCP (ruch przychodzący TCP jest dostępny tylko w środowiskach skonfigurowanych z siecią wirtualną).
- Jeśli wybrano opcję HTTP dla typu ruchu przychodzącego, wybierz opcję Transport: Auto, HTTP/1 lub HTTP/2.
- Wybierz pozycję Niezabezpieczone połączenia , jeśli chcesz zezwolić na połączenia HTTP z aplikacją.
- Wprowadź port docelowy dla aplikacji kontenera.
- W przypadku wybrania opcji TCP dla opcji Transport wprowadź port uwidoczniony dla aplikacji kontenera. Uwidoczniony numer portu może mieć
1wartość65535. (nie może być80lub443)
Strona Ustawień ruchu przychodzącego dla aplikacji kontenera umożliwia również konfigurowanie ograniczeń adresów IP. Aby uzyskać informacje na temat konfigurowania ograniczeń adresów IP, zobacz Ograniczenia adresów IP.
Włącz ruch przychodzący dla aplikacji kontenera ingress przy użyciu właściwości konfiguracji.
external Ustaw właściwość na true, i ustaw transport właściwości i targetPort .
-
externalUstaw właściwość na wartość true dla ruchu przychodzącego zewnętrznego lub false dla ruchu przychodzącego wewnętrznego. -
transportUstaw wartość na wartość ,autoaby wykryć protokół HTTP/1 lub HTTP/2,httpdla protokołu HTTP/1,http2dla protokołu HTTP/2 lubtcptcp. -
targetPortUstaw wartość na numer portu używany przez kontener. Punkt końcowy ruchu przychodzącego aplikacji jest zawsze uwidaczniony na porcie443. -
exposedPortUstaw właściwość , jeśli typ transportu totcpport dla ruchu przychodzącego TCP. Wartość musi być unikatowa w środowisku usługi Container Apps, jeśli ruch przychodzący jest zewnętrzny. Numer portu z1do65535. (nie może być80lub443)
{
...
"configuration": {
"ingress": {
"external": true,
"transport": "tcp",
"targetPort": 80,
"exposedPort": 8080,
},
}
}
Wyłączanie ruchu przychodzącego
Wyłącz ruch przychodzący dla aplikacji kontenera az containerapp ingress przy użyciu polecenia .
az containerapp ingress disable \
--name <app-name> \
--resource-group <resource-group> \
Możesz wyłączyć ingress dla swojej aplikacji kontenera, używając portalu.
- Wybierz pozycję Ruch przychodzący z menu Ustawienia strony aplikacji kontenera.
- Usuń zaznaczenie ustawienia Włączone ruch przychodzący.
- Wybierz pozycję Zapisz.
Wyłącz ruch przychodzący dla aplikacji kontenera, pomijając ingress całkowicie właściwość properties.configuration konfiguracji.
Używanie innych portów TCP
Dodatkowe porty TCP można uwidocznić z poziomu aplikacji. Aby uzyskać więcej informacji, zobacz artykuł dotyczący koncepcji ruchu przychodzącego.
Uwaga
Aby użyć tej funkcji, potrzebujesz rozszerzenia interfejsu wiersza polecenia aplikacji kontenera. Uruchom polecenie az extension add -n containerapp , aby zainstalować najnowszą wersję rozszerzenia interfejsu wiersza polecenia aplikacji kontenera.
Dodatkowe porty TCP można dodać za pośrednictwem interfejsu linii poleceń, odwołując się do pliku YAML z konfiguracjami portów TCP.
az containerapp create \
--name <app-name> \
--resource-group <resource-group> \
--yaml <your-yaml-file>
Poniższy przykład przedstawia plik YAML, do którego można się odwołać w poprzednim poleceniu interfejsu wiersza polecenia. Konfiguracja dodatkowych portów TCP znajduje się w obszarze 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
- Rozwiń sekcję Dodatkowe porty TCP w bloku Ruch przychodzący.
- Dodaj dodatkowe porty TCP, do których aplikacja akceptuje ruch w polu Port docelowy . Jeśli port uwidoczniony zostanie pusty, użyje tej samej wartości co port docelowy.
- Zmień pole ruchu przychodzącego zgodnie z potrzebami. To pole umożliwia skonfigurowanie miejsca, w którym ruch przychodzący jest ograniczony do każdego portu.
- Po skończeniu kliknij przycisk Zapisz.
Poniższy szablon usługi ARM zawiera przykład dodawania dodatkowych portów do aplikacji kontenera. Dodaj każdy dodatkowy port w sekcji ingress w additionalPortMappings dla configuration w properties aplikacji kontenera. W poniższym przykładzie pokazano, jak dodać dodatkowe porty:
{
...
"properties": {
...
"configuration": {
"ingress": {
...
"additionalPortMappings": [
{
"external": false
"targetPort": 80
"exposedPort": 12000
}
]
}
}
...
}