Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
HTTP yönlendirme yapılandırmaları, trafiği kendi etki alanı adlarınızdan kapsayıcı uygulamalarınıza yönlendirmenize olanak sağlayan özel etki alanlarını destekler.
Önkoşullar
- Mevcut bir Azure Container Apps ortamı
- Sahip olduğunuz özel bir alan adı
- Etki alanınız için SSL sertifikası (otomatik sertifikalar kullanılmadığı sürece)
- Ortamınıza dağıtılmış kapsayıcı uygulamalar
Özel etki alanı yapılandırması
Etki alanınızı barındıran DNS sağlayıcısını kullanarak özel etki alanınız için uygun DNS kayıtlarını oluşturun.
Kök etki alanını kullanıyorsanız (örneğin,
contoso.com) aşağıdaki DNS kayıtlarını oluşturun:Kayıt türü Sunucu Değer A @Container Apps ortamınızın IP adresi. TXT asuidEtki alanı doğrulama kodu. Bir alt etki alanı kullanıyorsanız (örneğin,
www.contoso.com) aşağıdaki DNS kayıtlarını oluşturun:Kayıt türü Sunucu Değer A Alt etki alanı (örneğin, www)Container Apps ortamınızın IP adresi. TXT asuid.{subdomain}(örneğin,asuid.www)Etki alanı doğrulama kodu.
Uyarı
Container Apps ortamınızın IP adresi ve etki alanı doğrulama kodu, Container Apps ortamınızın Özel DNS soneki ayarlarında bulunabilir.
Özel etki alanını Container Apps ortamınıza veya bir kapsayıcı uygulamasına bağlamayın. Etki alanları yalnızca bir uygulamaya, yola veya ortama bağlıdır.
Yol yapılandırması
Container Apps YAML dosyanızı bir bölüm içerecek şekilde customDomains güncelleştirin. Aşağıdaki ölçütlere göre bir bindingType ve bir certificateId ekleyin.
| bindingType değeri | Açıklama |
|---|---|
| Devre dışı | Sertifika sağlanmadı. Etki alanı yalnızca HTTP üzerinden kullanılabilir ve HTTPS kullanılamaz. |
| Otomatik | Sertifika isteğe bağlıdır. Bu etki alanı için zaten bir yönetilen sertifika oluşturulduysa, otomatik olarak yola eklenir. Aksi takdirde, etki alanı başlangıçta yalnızca HTTP üzerinden kullanılabilir. Bu etki alanı için yönetilen bir sertifika oluşturmak amacıyla, rota oluşturulduktan sonra yeni bir yönetilen sertifika oluşturun. Sertifika oluşturulduktan sonra otomatik olarak yola eklenir. |
| SniEnabled | Bir sertifika gereklidir. |
| Sertifika türü | certificateId biçimi |
|---|---|
| Hiç kimse | Boş bırakın |
| Yönetilen | /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/managedEnvironments/{ContainerAppEnvironmentName}/managedCertificates/{CertificateFriendlyName} |
| Yönetilmeyen | /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/managedEnvironments/{ContainerAppEnvironmentName}/certificates/{CertificateFriendlyName} |
Uyarı
Ortamınıza sertifika eklemek için aşağıdaki yöntemlerden birini kullanın:
- Container Apps tarafından yönetilen sertifika eklemek için az containerapp env certificate create CLI komutunu kullanın.
- Kendi sertifikanızı getirmek için az containerapp env certificate upload CLI komutunu kullanın.
Sertifikayı bir kapsayıcı uygulamasına bağlamayın.
Aşağıdaki örnekte yol yapılandırmasının nasıl ayarlanacağı gösterilmektedir.
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>"
Bu yapılandırma, HTTP trafiği için iki yönlendirme kuralı tanımlar.
| Mülkiyet | Açıklama |
|---|---|
customDomains.name |
Kullanmak istediğiniz etki alanı adı (örnek: "app.contoso.com") |
customDomains.certificateId |
Sertifikanızın kaynak kimliği (ile bindingType: "Auto"gerekli değildir) |
customDomains.bindingType |
SSL nasıl işlenir: "SniEnabled" (Sunucu Adı Göstergesi), "Devre Dışı" (yalnızca HTTP) veya "Otomatik" (otomatik sertifika) |
description |
Kural için insan tarafından okunabilir etiket |
routes.match.prefix |
Eşleşecek URL yolu ön eki. Örneğin, /api. |
routes.action.prefixRewrite |
İletmeden önce eşleşen ön ekin yerine ne koyabilirsiniz? |
targets.containerApp |
Eşleşen rota isteğinin gönderildiği kapsayıcı uygulamanın adı. |
Bu kurallar, özel etki alanınızdaki farklı yolların farklı kapsayıcı uygulamalarına yönlendirilmesine ve hedef uygulamaya ulaşmadan önce istek yolunu değiştirmesine olanak sağlar.
Yollarınızı etkileyebilecek, listelenmeyen diğer özellikler şunlardır.
| Mülkiyet | Açıklama |
|---|---|
route.match.path |
Tam eşleşme yolunun tanımı. |
route.match.pathSeparatedPrefix |
Herhangi bir metin yerine '/' sınırlarındaki yolları eşleştirir. Örneğin, /product değerini ayarlarsanız, /product/1 ile eşleşir, ancak /product1 ile eşleşmez. |
route.match.caseSensitive |
Yol desenlerinin büyük/küçük harf duyarlılığına göre eşleşip eşleşmediğini kontrol eder. |
target.label |
Bir kapsayıcı uygulamada belirli bir etiketli revizyona yönlendirme. |
target.revision |
Kapsayıcı uygulamasında belirli bir düzeltmeye yönlendirme. |
Rota yapılandırmanızı yönetme
Yol yapılandırmanızı yönetmek için aşağıdaki komutları kullanın.
Aşağıdaki komutları çalıştırmadan önce, <> ile çevrili yer tutucuları kendi değerlerinizle değiştirdiğinizden emin olun.
Yeni yol yapılandırması oluşturma
Yeni bir yol yapılandırması oluşturmak için kullanın az containerapp env http-route-config create .
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>
Yol yapılandırmalarını listeleme
Tüm tanımlı yol yapılandırmalarını listelemek için kullanın az containerapp env http-route-config list .
az containerapp env http-route-config list \
--resource-group <RESOURCE_GROUP_NAME> \
--name <ENVIRONMENT_NAME>
Yol yapılandırmasını güncelleştirme
Mevcut bir yol yapılandırmasını güncelleştirmek için kullanın az containerapp env http-route-config update .
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>
Belirli bir yol yapılandırmasını gösterme
Yol yapılandırmasının ayrıntılarını görüntülemek için kullanın az containerapp env http-route-config show .
az containerapp env http-route-config show \
--resource-group <RESOURCE_GROUP_NAME> \
--name <ENVIRONMENT_NAME> \
--http-route-config-name <CONFIGURATION_NAME>
Yol yapılandırmasını silme
Yol yapılandırmasını kaldırmak için kullanın az containerapp env http-route-config delete .
az containerapp env http-route-config delete \
--resource-group <RESOURCE_GROUP_NAME> \
--name <ENVIRONMENT_NAME> \
--http-route-config-name <CONFIGURATION_NAME>
HTTP yönlendirmeyi doğrulama
Özel etki alanınızı kural tabanlı yönlendirmeyle yapılandırdıktan sonra:
Özel etki alanınıza tarayıcıda gidin. Örneğin,
https://app.contoso.com/1.İsteğin ilk kapsayıcı uygulamasına yönlendirildiğini doğrulayın.
Yolu
/2olarak değiştirin. Örneğin,https://app.contoso.com/2.İsteğin artık ikinci kapsayıcı uygulamasına yönlendirildiğini doğrulayın.
İlgili içerik
- Azure Container Apps'te kural tabanlı yönlendirme
- Özel etki alanı adları ve ücretsiz yönetilen sertifikalar
- HTTP yol yapılandırması için Azure CLI başvurusu
İpucu
Sorun mu yaşıyorsunuz? Azure Container Apps deposunda bir sorun açarak GitHub'da bize bildirin.