Azure Container Apps'te 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ızı sağlar. Giriş ayarları, kapsayıcı uygulamanıza dış ve iç trafiğin yönlendirmesini denetleen bir dizi kural aracılığıyla uygulanır. Girişi etkinleştirdiğinizde, gelen HTTP isteklerini veya TCP trafiğini etkinleştirmek için bir Azure Load Balancer, genel IP adresi veya başka bir Azure kaynağı oluşturmanız gerekmez.
Giriş şu desteği destekler:
- Dış ve iç giriş
- HTTP ve TCP giriş türleri
- Etki alanı adları
- IP kısıtlamaları
- Kimlik Doğrulaması
- Düzeltmeler arasında trafik bölme
- Oturum benzitesi
Giriş yapılandırmasının iki düzeltme arasında bölündüğünü gösteren örnek giriş yapılandırması:
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.
- İç: Kapsayıcı uygulamanızın ortamından yalnızca iç 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, genel kullanıma yönelik kapsayıcı uygulamasını dış girişle 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 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 etki alanı adı (FQDN)
- İstek zaman aşımı 240 saniyedir
HTTP üst bilgileri
HTTP girişi, kapsayıcı uygulamanıza istemci isteği hakkındaki meta verileri geçirmek için üst bilgiler ekler. Örneğin, istemcinin X-Forwarded-Proto
Container Apps hizmetine bağlanmak için kullandığı protokolü tanımlamak için üst bilgi kullanılır. Aşağıdaki tabloda, Container Apps'te girişle ilgili HTTP üst bilgileri listeleniyor:
Üst bilgi | Açıklama | Değerler |
---|---|---|
X-Forwarded-Proto |
İstemci tarafından Container Apps hizmetine bağlanmak için kullanılan protokol. | http veya https |
X-Forwarded-For |
İsteği gönderen istemcinin IP adresi. | |
X-Forwarded-Host |
İstemcinin Container Apps hizmetine bağlanmak için kullandığı ana bilgisayar adı. | |
X-Forwarded-Client-Cert |
ayarlanmışsa clientCertificateMode istemci sertifikası. |
Karma, Sertifika ve Zincir'in noktalı virgülle ayrılmış listesi. Örneğin: Hash=....;Cert="...";Chain="..."; |
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 özel bir sanal ağ kullanan Container Apps ortamları için desteklenir.
TCP giriş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. - Girişin "dış" olarak ayarlanması durumunda, tam etki alanı adı (FQDN) ve kullanıma sunulan 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:
- Ek TCP bağlantı noktaları yalnızca uygulamanın kendisi dış olarak ayarlandıysa ve kapsayıcı uygulaması özel 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ı birden çok uygulama tarafından paylaşılabilir.
- 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şecektir.
- 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 5 ek bağlantı noktası vardır. Ek bağlantı noktaları gerekiyorsa lütfen 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.
Kapsayıcı uygulamalarınız için ek bağlantı noktalarını etkinleştirme hakkında daha fazla bilgi için girişle ilgili nasıl yapılır makalesini ziyaret edin.
Etki 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 soneki temelinde otomatik olarak bir FQDN atanır. 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 . Konum.
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, harici 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ğrulaması 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ğa genel bakış.
Trafik bölme
Kapsayıcılar Uygulamaları, gelen trafiği etkin düzeltmeler arasında bölmenize olanak tanır. Bölme kuralı tanımlarken, farklı düzeltmelere gitmek için gelen trafiğin yüzdesini atarsınız. 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ğaltmaya tutarlı bir bağlantı gerektiren durum bilgisi olan 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'te CORS'yi yapılandırma.