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.
Konfiguracje tras HTTP obsługują domeny niestandardowe, umożliwiając kierowanie ruchu z własnych nazw domen do aplikacji kontenera.
Wymagania wstępne
- Istniejące środowisko usługi Azure Container Apps
- Domena niestandardowa, której jesteś właścicielem
- Certyfikat SSL dla domeny (chyba że używasz certyfikatów automatycznych)
- Aplikacje kontenerowe wdrożone w twoim środowisku
Konfiguracja domeny niestandardowej
Korzystając z dostawcy DNS hostowania domeny, utwórz odpowiednie rekordy DNS dla domeny niestandardowej.
Jeśli używasz domeny głównej (na przykład
contoso.com), utwórz następujące rekordy DNS:Typ rekordu Gospodarz Wartość A @Adres IP środowiska usługi Container Apps. plik TXT asuidKod weryfikacyjny domeny. Jeśli używasz poddomeny (na przykład
www.contoso.com), utwórz następujące rekordy DNS:Typ rekordu Gospodarz Wartość A Poddomena (na przykład www)Adres IP środowiska usługi Container Apps. plik TXT asuid.{subdomain}(na przykładasuid.www)Kod weryfikacyjny domeny.
Uwaga / Notatka
Adres IP środowiska usługi Container Apps i kod weryfikacyjny domeny można znaleźć w ustawieniach sufiksu niestandardowego DNS środowiska usługi Container Apps.
Nie należy powiązać domeny niestandardowej ze środowiskiem usługi Container Apps ani z aplikacją kontenera. Domeny są powiązane tylko z jedną aplikacją, trasą lub środowiskiem.
Konfiguracja trasy
Zaktualizuj plik YAML usługi Container Apps, aby uwzględnić sekcję customDomains . Uwzględnij elementy bindingType i certificateId, na podstawie następujących kryteriów:
| wartość bindingType | Opis |
|---|---|
| Niepełnosprawny | Nie podano certyfikatu. Domena jest dostępna tylko za pośrednictwem protokołu HTTP, a protokół HTTPS jest niedostępny. |
| Samochód | Certyfikat jest opcjonalny. Jeśli dla tej domeny został już utworzony zarządzany certyfikat, zostanie on automatycznie dodany do trasy. W przeciwnym razie domena jest początkowo dostępna tylko za pośrednictwem protokołu HTTP. Aby utworzyć certyfikat zarządzany dla tej domeny, utwórz nowy certyfikat zarządzany po utworzeniu trasy. Po utworzeniu certyfikatu zostanie on automatycznie dodany do trasy. |
| SniEnabled | Wymagany jest certyfikat. |
| Typ certyfikatu | format certyfikatuId |
|---|---|
| Żaden | Pozostaw puste. |
| Zarządzane | /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/managedEnvironments/{ContainerAppEnvironmentName}/managedCertificates/{CertificateFriendlyName} |
| Niezarządzany | /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/managedEnvironments/{ContainerAppEnvironmentName}/certificates/{CertificateFriendlyName} |
Uwaga / Notatka
Aby dodać certyfikat do środowiska, użyj jednej z następujących metod:
- Aby dodać certyfikat zarządzany usługi Container Apps, użyj polecenia az containerapp env certificate create cli.
- Aby przenieść własny istniejący certyfikat, użyj polecenia az containerapp env certificate upload CLI.
Nie powiąż certyfikatu z aplikacją kontenera.
W poniższym przykładzie pokazano, jak skonfigurować konfigurację trasy.
customDomains:
- name: "<CUSTOM_DOMAIN_ENDPOINT>"
certificateId: "<CERTIFICATE_ID>"
bindingType: "SniEnabled" # Can also be "Disabled", "Auto"
rules:
- description: "Routing to App1"
routes:
- match:
prefix: "/1"
action:
prefixRewrite: "/"
targets:
- containerApp: "<APP1_CONTAINER_APP_NAME>"
- description: "Routing to App2"
routes:
- match:
prefix: "/2"
action:
prefixRewrite: "/"
- match:
prefix: "/"
targets:
- containerApp: "<APP2_CONTAINER_APP_NAME>"
Ta konfiguracja definiuje dwie reguły routingu dla ruchu HTTP.
| Majątek | Opis |
|---|---|
customDomains.name |
Nazwa domeny, której chcesz użyć (na przykład: "app.contoso.com") |
customDomains.certificateId |
Identyfikator zasobu certyfikatu (nie jest wymagany w programie bindingType: "Auto") |
customDomains.bindingType |
Sposób obsługi protokołu SSL: "SniEnabled" (wskazanie nazwy serwera), "Wyłączone" (tylko HTTP) lub "Auto" (automatyczny certyfikat) |
description |
Czytelna dla człowieka etykieta reguły |
routes.match.prefix |
Prefiks ścieżki adresu URL zgodny. Na przykład /api. |
routes.action.prefixRewrite |
Co zastąpić dopasowany prefiks przed przekazaniem dalej. |
targets.containerApp |
Nazwa aplikacji kontenerowej, do której wysyłane są pasujące żądania dotyczace tras. |
Te reguły umożliwiają kierowanie różnych ścieżek na twojej domenie niestandardowej do różnych aplikacji kontenerów, jednocześnie modyfikując ścieżkę żądania przed dotarciem do aplikacji docelowej.
Inne właściwości, które nie są wymienione, które mogą mieć wpływ na trasy, obejmują następujące.
| Majątek | Opis |
|---|---|
route.match.path |
Dokładna definicja ścieżki dopasowania. |
route.match.pathSeparatedPrefix |
Dopasuje trasy w granicach "/", a nie do żadnego tekstu. Na przykład, jeśli ustawisz wartość na /product, to będzie ona zgodna z wartością /product/1, ale nie z /product1. |
route.match.caseSensitive |
Określa, czy wzorce tras są zgodne z poufnością wielkości liter. |
target.label |
Kierowanie do konkretnej poprawki oznaczonej etykietą wewnątrz aplikacji kontenera. |
target.revision |
Przejście do określonej wersji w aplikacji kontenerowej. |
Praca nad swoją konfiguracją trasy
Użyj następujących poleceń, aby zarządzać konfiguracją trasy.
Przed uruchomieniem następujących poleceń pamiętaj, aby zastąpić symbole zastępcze otoczone <> własnymi wartościami.
Tworzenie nowej konfiguracji trasy
Użyj az containerapp env http-route-config create polecenia, aby utworzyć nową konfigurację trasy.
az containerapp env http-route-config create \
--resource-group <RESOURCE_GROUP_NAME> \
--name <ENVIRONMENT_NAME> \
--http-route-config-name <CONFIGURATION_NAME> \
--yaml <CONTAINER_APPS_CONFIG_FILE>
Lista konfiguracji tras
Użyj az containerapp env http-route-config list polecenia , aby wyświetlić listę wszystkich zdefiniowanych konfiguracji tras.
az containerapp env http-route-config list \
--resource-group <RESOURCE_GROUP_NAME> \
--name <ENVIRONMENT_NAME>
Aktualizowanie konfiguracji trasy
Użyj az containerapp env http-route-config update polecenia , aby zaktualizować istniejącą konfigurację trasy.
az containerapp env http-route-config update \
--resource-group <RESOURCE_GROUP_NAME> \
--name <ENVIRONMENT_NAME> \
--http-route-config-name <CONFIGURATION_NAME> \
--yaml <CONTAINER_APPS_CONFIG_FILE>
Pokaż określoną konfigurację trasy
Służy az containerapp env http-route-config show do wyświetlania szczegółów konfiguracji trasy.
az containerapp env http-route-config show \
--resource-group <RESOURCE_GROUP_NAME> \
--name <ENVIRONMENT_NAME> \
--http-route-config-name <CONFIGURATION_NAME>
Usuwanie konfiguracji trasy
Użyj polecenia az containerapp env http-route-config delete , aby usunąć konfigurację trasy.
az containerapp env http-route-config delete \
--resource-group <RESOURCE_GROUP_NAME> \
--name <ENVIRONMENT_NAME> \
--http-route-config-name <CONFIGURATION_NAME>
Weryfikowanie routingu HTTP
Po skonfigurowaniu domeny niestandardowej przy użyciu routingu opartego na regułach:
Otwórz swoją domenę niestandardową w przeglądarce. Na przykład
https://app.contoso.com/1.Sprawdź, czy żądanie jest kierowane do pierwszej aplikacji kontenera.
Zmień ścieżkę na
/2. Na przykładhttps://app.contoso.com/2.Sprawdź, czy żądanie jest teraz kierowane do drugiej aplikacji kontenera.
Treści powiązane
- Routing oparty na regułach w usłudze Azure Container Apps
- Niestandardowe nazwy domen i bezpłatne certyfikaty zarządzane
- Dokumentacja Azure CLI dotycząca konfiguracji tras HTTP
Wskazówka
Masz problemy? Daj nam znać na GitHubie, otwierając zgłoszenie w repozytorium Azure Container Apps.