Azure Container Apps giriş

Azure Container Apps girişi etkinleştirerek kapsayıcı uygulamanızı genel web'de, sanal ağınızda (VNET) ve ortamınızdaki diğer kapsayıcı uygulamalarında kullanıma sunmanıza olanak tanır. Giriş ayarları, kapsayıcı uygulamanıza dış ve iç trafiğin yönlendirilmesini denetleyen bir dizi kural aracılığıyla uygulanmaktadır. Girişi etkinleştirdiğinizde, gelen HTTP isteklerini veya TCP (İletim Denetimi Protokolü) trafiğini etkinleştirmek için bir Azure Load Balancer, genel IP adresi veya başka bir Azure kaynağı oluşturmanız gerekmez.

Ingress şunları destekler:

Giriş yapılandırmasının iki düzeltme arasında bölündüğünü gösteren örnek giriş yapılandırması:

Trafiği iki düzeltme arasında bölen giriş yapılandırmasını gösteren diyagram.

Yapılandırma ayrıntıları için bkz Girişi yapılandırma.

Dış ve iç giriş

Girişi etkinleştirdiğinizde, iki giriş türü arasından seçim yapabilirsiniz:

  • Dış: Hem genel İnternet'ten hem de kapsayıcı uygulamanızın iç ortamından gelen trafiği kabul eder.
  • Dahili: Kapsayıcı uygulamanızın ortamından yalnızca dahili erişime izin verir.

Bir ortamdaki her kapsayıcı uygulaması farklı giriş ayarlarıyla yapılandırılabilir. Örneğin, birden çok mikro hizmet uygulamasının olduğu bir senaryoda güvenliği artırmak için genel istekler alan ve istekleri bir arka plan hizmetine geçiren tek bir kapsayıcı uygulamanız olabilir. Bu senaryoda, dış girişe sahip olarak genel kullanıma yönelik kapsayıcı uygulamasını ve iç girişle iç kullanıma yönelik kapsayıcı uygulamasını yapılandırırsınız.

Protokol türleri

Container Apps giriş için iki protokolü destekler: HTTP ve TCP.

HTTP

HTTP girişi etkinleştirildiğinde kapsayıcı uygulamanız şunları sağlar:

  • TLS (Aktarım Katmanı Güvenliği) sonlandırma desteği
  • HTTP/1.1 ve HTTP/2 desteği
  • WebSocket ve gRPC desteği
  • Her zaman TLS 1.2 veya 1.3 kullanan HTTPS uç noktaları giriş noktasında sonlandırıldı
  • 80 (HTTP için) ve 443 (HTTPS için) bağlantı noktalarını kullanıma sunan uç noktalar
    • Varsayılan olarak, 80 numaralı bağlantı noktasına yapılan HTTP istekleri otomatik olarak 443'te HTTPS'ye yönlendirilir
  • Tam Nitelikli Etki Alanı Adı (FQDN)
  • İstek zaman aşımı süresi 240 saniyedir

HTTP başlıkları

HTTP girişi, istemci isteğiyle ilgili metaveriyi kapsayıcı uygulamanıza aktarmak için üst bilgiler ekler. Örneğin, istemcinin Container Apps hizmetine bağlanmak için kullandığı protokolü belirtmek üzere X-Forwarded-Proto başlığı kullanılır. Aşağıdaki tabloda, Container Apps'te girişle ilgili HTTP üst bilgileri listeleniyor:

Başlık Açıklama Değerler
X-Forwarded-Proto İstemci tarafından Container Apps hizmetine bağlanmak için kullanılan protokol. http veya https. İstemci tarafından gönderildiğinde bu değer üzerine yazılır.
X-Forwarded-For İsteği gönderen istemcinin ve/veya ara ara proxy'lerin IP adresleri. Gönderenlerin IP adresleri. İlk istekte belirtilirse, sonuna eklenir. yalnızca en sağdaki IP Azure Container Apps tarafından sağlanır. IP kimlik sahtekarlığına engel olmak için diğer tüm değerlerin kullanıcı tarafından doğrulanması gerekir.
X-Forwarded-Client-Cert ayarlanmışsa clientCertificateMode istemci sertifikası. Hash, Sertifikalar ve Zincir'in noktalı virgülle ayrılmış listesi. Örneğin: Hash=....;Cert="...";Chain="...";. İstemci tarafından gönderildiğinde bu değer üzerine yazılır.

TCP

Container Apps, HTTP veya HTTPS dışındaki TCP tabanlı protokolleri destekler. Örneğin, Redis protokolunu kullanan bir kapsayıcı uygulamasını kullanıma açmak için TCP girişi kullanabilirsiniz.

Not

Dış TCP girişi yalnızca sanal ağ kullanan Container Apps ortamları için desteklenir.

TCP giriş özelliği etkinleştirildiğinde, kapsayıcı uygulamanız:

  • Adı (Container Apps kaynağındaki özellik tarafından name tanımlanır) ve kullanıma sunulan bağlantı noktası numarası aracılığıyla aynı ortamdaki diğer kapsayıcı uygulamalarına erişilebilir.
  • Erişim için giriş external olarak ayarlandığında, tam etki alanı adı (FQDN) ile açığa çıkarılan bağlantı noktası numarası aracılığıyla dışarıdan erişilebilir.

Ek TCP bağlantı noktaları

Kapsayıcı uygulamalarınız için ana HTTP/TCP bağlantı noktasına ek olarak, birden çok bağlantı noktasında TCP bağlantılarını kabul eden uygulamaları etkinleştirmek için ek TCP bağlantı noktalarını kullanıma sunabilir.

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 .

Aşağıdakiler ek TCP bağlantı noktaları için geçerlidir:

  • Daha fazla TCP bağlantı noktası yalnızca uygulamanın kendisi dış olarak ayarlandıysa ve kapsayıcı uygulaması bir sanal ağ kullanıyorsa dış bağlantı noktaları olabilir.

  • Dışarıdan kullanıma sunulan tüm ek TCP bağlantı noktaları, Container Apps ortamının tamamında benzersiz olmalıdır. Buna tüm dış ek TCP bağlantı noktaları, dış ana TCP bağlantı noktaları ve yerleşik HTTP girişi tarafından kullanılan 80/443 bağlantı noktaları dahildir. Ek bağlantı noktaları dahiliyse, aynı bağlantı noktasını birden çok uygulamada paylaşabilirsiniz.

  • Kullanıma sunulan bir bağlantı noktası sağlanmazsa, kullanıma sunulan bağlantı noktası varsayılan olarak hedef bağlantı noktasıyla eşleşecek şekilde gösterilir.

  • Her hedef bağlantı noktasının benzersiz olması gerekir ve aynı hedef bağlantı noktası farklı kullanıma sunulan bağlantı noktalarında kullanıma sunulmaz.

  • Uygulama başına en fazla beş ek bağlantı noktası vardır. Ek bağlantı noktaları gerekiyorsa bir destek isteği açın.

  • CorS ve oturum benzişimi gibi yerleşik HTTP özelliklerini yalnızca ana giriş bağlantı noktası destekler. Ek TCP bağlantı noktalarının üzerinde HTTP çalıştırırken bu yerleşik özellikler desteklenmez.

  • Bağlantı noktası numarası 36985 iç sistem durumu denetimleri için ayrılmıştır ve HTTP uygulamalarında TCP uygulamaları veya fazladan kullanıma sunulan bağlantı noktaları tarafından kullanılamaz.

Ekstra bağlantı noktalarını etkinleştirme hakkında daha fazla bilgi için bkz. Uygulamanız için giriş ayarlama.

Alan adları

Uygulamanıza aşağıdaki yollarla erişebilirsiniz:

  • Varsayılan tam etki alanı adı (FQDN): Container Apps ortamındaki her uygulamaya, ortamın DNS (Etki Alanı Adı Sistemi) soneki temelinde otomatik olarak bir FQDN atanır. Bu ek, ortam değişkeniCONTAINER_APP_ENV_DNS_SUFFIX tarafından belirlenir. Bir ortamın DNS sonekini özelleştirmek için bkz . Özel ortam DNS Soneki.

  • Özel etki alanı adı: Container Apps ortamınız için özel bir DNS etki alanı yapılandırabilirsiniz. Daha fazla bilgi için bkz . Özel etki alanı adları ve sertifikaları.

  • Uygulama adı: Aynı ortamdaki uygulamalar arasında iletişim için uygulama adını kullanabilirsiniz.

Uygulamanızın FQDN'sini almak için bkz. Kapsayıcı uygulaması konumu (FQDN).

IP kısıtlamaları

Container Apps giriş için IP kısıtlamalarını destekler. Kapsayıcı uygulamanıza erişim izni verilen veya erişimi reddedilen IP adreslerini yapılandırmak için kurallar oluşturabilirsiniz. Daha fazla bilgi için bkz . IP kısıtlamalarını yapılandırma.

Kimlik Doğrulaması

Azure Container Apps, dış giriş özellikli kapsayıcı uygulamanızın güvenliğini sağlamak için yerleşik kimlik doğrulaması ve yetkilendirme özellikleri sağlar. Daha fazla bilgi için bkz. Azure Container Apps'te Kimlik Doğrulama ve Yetkilendirme.

Uygulamanızı kimlik doğrulaması ve trafik şifrelemesi için istemci sertifikalarını (mTLS) destekleyecek şekilde yapılandırabilirsiniz. Daha fazla bilgi için bkz . İstemci sertifikalarını yapılandırma.

Eşler arası ortam düzeyinde ağ şifrelemesi kullanma hakkında ayrıntılı bilgi için bkz. ağ yapılandırması.

Trafik bölünmesi

Container Uygulamaları, gelen trafiği aktif revizyonlar arasında bölmenize olanak tanır. Bölme kuralı tanımlarken, gelen trafiğin yüzdesini farklı sürümlere yönlendirmek üzere belirlersiniz. Daha fazla bilgi için bkz. Trafik bölme.

Oturum benzeşimi

Yapışkan oturumlar olarak da bilinen oturum benzitesi, bir istemciden gelen tüm HTTP isteklerini aynı kapsayıcı uygulaması çoğaltmasına yönlendirmenizi sağlayan bir özelliktir. Bu özellik, aynı çoğaltıcıya sürekli bağlantı gerektiren durum bilgili uygulamalar için kullanışlıdır. Daha fazla bilgi için bkz . Oturum benşimi.

Çıkış noktaları arası kaynak paylaşımı (CORS)

Varsayılan olarak, bir sayfadan bir etki alanına tarayıcı üzerinden yapılan ve sayfanın kaynak etki alanıyla eşleşmeyen tüm istekler engellenir. Container Apps'e dağıtılan hizmetler için bu kısıtlamayı önlemek için çıkış noktaları arası kaynak paylaşımını (CORS) etkinleştirebilirsiniz.

Daha fazla bilgi için bkz. Azure Container Apps'da CORS'yi yapılandırma.

Sonraki adımlar