Azure Container Apps'te uygulamanız için Girişi yapılandırma

Bu makalede kapsayıcı uygulamanız için giriş özelliklerinin nasıl etkinleştirileceği gösterilmektedir. Giriş, uygulama genelinde bir ayardır. Giriş ayarlarında yapılan değişiklikler tüm düzeltmelere aynı anda uygulanır ve yeni düzeltmeler oluşturmaz.

Giriş ayarları

Aşağıdaki giriş şablonu özelliklerini ayarlayabilirsiniz:

Özellik Açıklama Değerler Zorunlu
allowInsecure Kapsayıcı uygulamanıza güvenli olmayan trafiğe izin verir. HTTP istekleri 80 numaralı bağlantı noktasına ayarlandığında true HTTPS kullanılarak bağlantı noktası 443'e otomatik olarak yeniden yönlendirilmiyor ve güvenli olmayan bağlantılara olanak tanır. false (varsayılan), true güvenli olmayan bağlantıları etkinleştirir Hayır
clientCertificateMode mTLS kimlik doğrulaması için istemci sertifikası modu. Yoksay, sunucunun iletmede istemci sertifikasını bırakmasını gösterir. Accept, sunucunun istemci sertifikayı ilettiğini gösterir, ancak istemci sertifikası gerektirmez. Require, sunucunun bir istemci sertifikası gerektirdiğini gösterir. Required, Accept, Ignore (varsayılan) Hayır
customDomains Container Apps'in konak adları için özel etki alanı bağlamaları. Bkz. Özel etki alanları ve sertifikalar Bağlama dizisi Hayır
exposedPort (Yalnızca TCP girişi) TCP bağlantı noktası dinler. ise externaltrue, değerin Container Apps ortamında benzersiz olması gerekir. 'den adresine 65535bir 1 bağlantı noktası numarası. (veya 443olamaz80) Hayır
external Kapsayıcı Uygulamaları ortamının dışından uygulamanıza girişe izin verin. true veya false(varsayılan) Yes
ipSecurityRestrictions IP giriş kısıtlamaları. Bkz . IP giriş kısıtlamalarını ayarlama Bir kural dizisi Hayır
stickySessions.affinity Oturum benzitesini etkinleştirir. none (varsayılan), sticky Hayır
targetPort Kapsayıcınızın gelen istekler için dinleyen bağlantı noktası. Bu değeri kapsayıcınızın kullandığı bağlantı noktası numarasına ayarlayın. HTTP girişi için, uygulama giriş uç noktanız her zaman bağlantı noktasında 443kullanıma sunulur. Yes
traffic Ağırlıkları düzeltmeler arasında bölen trafik. Bir kural dizisi Hayır
transport Aktarım protokolü türü. auto (varsayılan), HTTP/1 veya HTTP/2, http HTTP/1 için, http2 HTTP/2 için, tcp TCP için algılar. Hayır

Girişi etkinleştirme

Azure CLI, ARM şablonu veya Azure portalı kullanarak kapsayıcı uygulamanız için girişi yapılandırabilirsiniz.

Bu az containerapp ingress enable komut kapsayıcı uygulamanız için girişi etkinleştirir. Hedef bağlantı noktasını belirtmeniz gerekir ve aktarım türünüz ise tcpisteğe bağlı olarak kullanıma sunulan bağlantı noktasını ayarlayabilirsiniz.

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 giriş bağımsız değişkenleri:

Seçenek Özellik Açıklama Değerler Zorunlu
--type external Uygulamanıza her yerden girişe izin verin veya girişi kendi iç Container Apps ortamıyla sınırlayın. external veya internal Yes
--allow-insecure allowInsecure Uygulamanıza HTTP bağlantılarına izin verin. Hayır
--target-port targetPort Kapsayıcınızın gelen istekler için dinleyen bağlantı noktası. Bu değeri kapsayıcınızın kullandığı bağlantı noktası numarasına ayarlayın. Uygulama giriş uç noktanız her zaman bağlantı noktasında 443kullanıma sunulur. Yes
--exposed-port exposedPort (Yalnızca TCP girişi) TCP girişi için bir bağlantı noktası. ise externaltrue, giriş dış ise değerin Container Apps ortamında benzersiz olması gerekir. 'den adresine 65535bir 1 bağlantı noktası numarası. (veya 443olamaz80) Hayır
--transport taşıma Aktarım protokolü türü. auto (varsayılan), HTTP/1 veya HTTP/2, http HTTP/1 için, http2 HTTP/2 için, tcp TCP için algılar. Hayır

Portalı kullanarak kapsayıcı uygulamanız için girişi etkinleştirin.

Kapsayıcı uygulamanızı oluştururken girişi etkinleştirebilir veya mevcut bir kapsayıcı uygulaması için girişi etkinleştirebilirsiniz.

  • Kapsayıcı uygulamanızı oluştururken girişi yapılandırmak için kapsayıcı uygulaması oluşturma sihirbazının Uygulama Yapılandırması sekmesinden Giriş'i seçin.
  • Mevcut bir kapsayıcı uygulaması için girişi yapılandırmak için kapsayıcı uygulaması kaynak sayfasının Ayarlar menüsünden Giriş'i seçin.

Kapsayıcı uygulamanız için girişi etkinleştirme:

Azure portalını kullanarak kapsayıcı uygulamanızı oluştururken girişi yapılandırabilirsiniz.

  1. Girişi Etkin olarak ayarlayın.
  2. Kapsayıcı uygulamanız için giriş ayarlarını yapılandırın.
  3. İç giriş için Container Apps Ortamı ile sınırlı veya dış giriş için her yerden trafiği kabul etme'yi seçin.
  4. Giriş Türü: HTTP veya TCP'yi seçin (TCP girişi yalnızca özel bir sanal ağ ile yapılandırılmış ortamlarda kullanılabilir).
  5. Giriş Türü için HTTP seçiliyse Aktarım: Otomatik, HTTP/1 veya HTTP/2'yi seçin.
  6. Uygulamanıza HTTP bağlantılarına izin vermek istiyorsanız Güvenli olmayan bağlantılar'ı seçin.
  7. Kapsayıcı uygulamanız için Hedef bağlantı noktasını girin.
  8. Aktarım seçeneği için TCP'yi seçtiyseniz kapsayıcı uygulamanız için Kullanıma Sunulan bağlantı noktasını girin. Kullanıma sunulan bağlantı noktası numarası için 65535olabilir1. (veya 443olamaz80)

Kapsayıcı uygulamanızın Giriş ayarları sayfası, IP Kısıtlamalarını yapılandırmanıza da olanak tanır. IP kısıtlamasını yapılandırma hakkında bilgi için bkz . IP Kısıtlamaları.

Yapılandırma özelliğini kullanarak ingress kapsayıcı uygulamanız için girişi etkinleştirin. external özelliğini olarak trueayarlayın ve ve targetPort özelliklerinizi transport ayarlayın.
-externalözelliği dış giriş için true veya iç giriş için false olarak ayarlanabilir.

  • transportauto http/1 veya HTTP/2, HTTP/1http2, http HTTP/2 veya tcp TCP için algılamak için olarak ayarlayın.
  • öğesini targetPort kapsayıcınızın kullandığı bağlantı noktası numarasına ayarlayın. Uygulama giriş uç noktanız her zaman bağlantı noktasında 443kullanıma sunulur.
  • exposedPort Aktarım türü TCP girişi için bir bağlantı noktasına ise tcp özelliğini ayarlayın. Giriş dış ise, değerin Container Apps ortamında benzersiz olması gerekir. 'den adresine 65535bir 1 bağlantı noktası numarası. (veya 443olamaz80)
{
  ...
  "configuration": {
    "ingress": {
        "external": true,
        "transport": "tcp",
        "targetPort": 80,
        "exposedPort": 8080,
    },
  }
}

Girişi devre dışı bırakma

komutunu kullanarak az containerapp ingress kapsayıcı uygulamanız için girişi devre dışı bırakın.

az containerapp ingress disable \
    --name <app-name> \
    --resource-group <resource-group> \

Portalı kullanarak kapsayıcı uygulamanız için girişi devre dışı bırakabilirsiniz.

  1. Kapsayıcı uygulaması sayfasının Ayarlar menüsünden Giriş'i seçin.
  2. GirişEtkin ayarının seçimini kaldırın.
  3. Kaydet'i seçin.

Sceenshot of disabling container app ingress.

yapılandırma özelliğini properties.configuration tamamen atlayarak ingress kapsayıcı uygulamanız için girişi devre dışı bırakın.

Ek TCP bağlantı noktaları kullanma

Uygulamanızdan ek TCP bağlantı noktalarını kullanıma sağlayabilirsiniz. Daha fazla bilgi edinmek için giriş kavramı makalesine bakın.

Not

Bu özelliği kullanmak için kapsayıcı uygulamaları CLI uzantısına sahip olmanız gerekir. Kapsayıcı uygulamaları CLI uzantısının en son sürümünü yüklemek için komutunu çalıştırın az extension add -n containerapp .

EK TCP bağlantı noktaları eklemek, TCP bağlantı noktası yapılandırmalarınızla bir YAML dosyasına başvurarak CLI aracılığıyla yapılabilir.

az containerapp create \
    --name <app-name> \
    --resource-group <resource-group> \
    --yaml <your-yaml-file>

Aşağıda, yukarıdaki CLI komutunda başvurabileceğiniz örnek bir YAML dosyası verilmiştir. Ek TCP bağlantı noktalarının yapılandırması altındadır 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

Bu özellik Azure portalında desteklenmez.

Aşağıdaki ARM şablonu, kapsayıcı uygulamalarınıza nasıl ek bağlantı noktaları ekleyebileceğinize ilişkin bir örnek sağlar. Her ek bağlantı noktası, kapsayıcı uygulamasının ingress içindeki properties bölümüne configuration eklenmelidiradditionalPortMappings. Aşağıda bir örnek verilmiştir:

{
  ...
  "properties": {
    ...
    "configuration": {
      "ingress": {
        ...
        "additionalPortMappings": [
          {
            "external": false
            "targetPort": 80
            "exposedPort": 12000
          }
        ]
      }
    }
  ...
}

Sonraki adımlar