Aracılığıyla paylaş


Uygulama ağ geçidi nasıl çalışır?

Bu makalede, bir uygulama ağ geçidinin gelen istekleri nasıl kabul edip bunları arka uça nasıl yönlendirecekleri açıklanmaktadır.

Uygulama ağ geçidi isteği nasıl kabul eder?

Uygulama ağ geçidi isteği nasıl kabul eder?

  1. İstemci bir uygulama ağ geçidine istek göndermeden önce, bir Etki Alanı Adı Sistemi (DNS) sunucusu kullanarak uygulama ağ geçidinin etki alanı adını çözümler. Tüm uygulama ağ geçitleri azure.com etki alanında olduğundan Azure DNS girişini denetler.

  2. Azure DNS, IP adresini istemciye döndürür. Bu, uygulama ağ geçidinin ön uç IP adresidir.

  3. Uygulama ağ geçidi, bir veya daha fazla dinleyicide gelen trafiği kabul eder. Dinleyici, bağlantı isteklerini denetleyen mantıksal bir varlıktır. İstemcilerden uygulama ağ geçidine bağlantılar için ön uç IP adresi, protokol ve bağlantı noktası numarasıyla yapılandırılır.

  4. Bir web uygulaması güvenlik duvarı (WAF) kullanılıyorsa, uygulama ağ geçidi istek üst bilgilerini ve varsa gövdeyi WAF kurallarında denetler. Bu eylem, isteğin geçerli bir istek mi yoksa bir güvenlik tehdidi mi olduğunu belirler. İstek geçerliyse arka uça yönlendirilir. İstek geçerli değilse ve WAF Önleme modundaysa güvenlik tehdidi olarak engellenir. Algılama modundaysa istek değerlendirilir ve günlüğe kaydedilir, ancak yine de arka uç sunucusuna iletilir.

Azure Uygulaması lication Gateway, iç uygulama yük dengeleyici veya İnternet'e yönelik uygulama yük dengeleyici olarak kullanılabilir. İnternet'e yönelik bir uygulama ağ geçidi genel IP adreslerini kullanır. İnternet'e yönelik bir uygulama ağ geçidinin DNS adı, genel IP adresiyle genel olarak çözümlenebilir. Sonuç olarak, İnternet'e yönelik uygulama ağ geçitleri istemci isteklerini İnternet'ten yönlendirebilir.

İç uygulama ağ geçitleri yalnızca özel IP adreslerini kullanır. Özel veya Özel DNS bir bölge kullanıyorsanız, etki alanı adı, Application Gateway'in özel IP adresiyle dahili olarak çözümlenebilir olmalıdır. Bu nedenle, iç yük dengeleyiciler yalnızca uygulama ağ geçidi için bir sanal ağa erişimi olan istemcilerden gelen istekleri yönlendirebilir.

Uygulama ağ geçidi isteği nasıl yönlendirir?

İstek geçerliyse ve WAF tarafından engellenmiyorsa, uygulama ağ geçidi dinleyiciyle ilişkili istek yönlendirme kuralını değerlendirir. Bu eylem, isteğin hangi arka uç havuzuna yönlendirileceğini belirler.

İstek yönlendirme kuralına bağlı olarak, uygulama ağ geçidi dinleyicideki tüm isteklerin belirli bir arka uç havuzuna mı, istekleri URL yoluna göre farklı arka uç havuzlarına mı yönlendireceğini yoksa istekleri başka bir bağlantı noktasına mı yoksa dış siteye mi yönlendireceğini belirler.

Not

Kurallar, v1 SKU'su için portalda listelendikleri sırayla işlenir.

Uygulama ağ geçidi arka uç havuzunu seçtiğinde, isteği havuzdaki iyi durumdaki arka uç sunucularından birine (y.y.y.y) gönderir. Sunucunun sistem durumu bir sistem durumu yoklaması tarafından belirlenir. Arka uç havuzu birden çok sunucu içeriyorsa, uygulama ağ geçidi istekleri iyi durumdaki sunucular arasında yönlendirmek için hepsini bir kez deneme algoritması kullanır. Bu yük, sunuculardaki istekleri dengeler.

Uygulama ağ geçidi arka uç sunucusunu belirledikten sonra, HTTP ayarlarına göre arka uç sunucusuyla yeni bir TCP oturumu açar. HTTP ayarları, arka uç sunucusuyla yeni bir oturum oluşturmak için gereken protokolü, bağlantı noktasını ve yönlendirmeyle ilgili diğer ayarları belirtir.

HTTP ayarlarında kullanılan bağlantı noktası ve protokol, uygulama ağ geçidi ile arka uç sunucuları arasındaki trafiğin şifrelenip şifrelenmediğini (dolayısıyla uçtan uca TLS'yi gerçekleştirerek) veya şifrelenmemiş olup olmadığını belirler.

Bir uygulama ağ geçidi özgün isteği arka uç sunucusuna gönderdiğinde, ana bilgisayar adı, yol ve protokolü geçersiz kılmayla ilgili HTTP ayarlarında yapılan tüm özel yapılandırmaları kabul eder. Bu eylem tanımlama bilgisi tabanlı oturum benzini, bağlantı boşaltmayı, arka uçtan konak adı seçimini vb. korur.

Not

Arka uç havuzu:

  • Genel bir uç noktadır, uygulama ağ geçidi sunucuya ulaşmak için ön uç genel IP'sini kullanır. Ön uç genel IP adresi yoksa, giden dış bağlantı için bir ip adresi atanır.
  • Dahili olarak çözümlenebilir bir FQDN veya özel IP adresi içeren uygulama ağ geçidi, isteği özel IP adreslerini kullanarak arka uç sunucusuna yönlendirir.
  • Bir dış uç nokta veya harici olarak çözümlenebilir bir FQDN içerir, uygulama ağ geçidi ön uç genel IP adresini kullanarak isteği arka uç sunucusuna yönlendirir. Alt ağ hizmet uç noktaları içeriyorsa, uygulama ağ geçidi isteği özel IP adresi aracılığıyla hizmete yönlendirir. DNS çözümlemesi, yapılandırılmışsa özel bir DNS bölgesini veya özel DNS sunucusunu temel alır veya azure tarafından sağlanan varsayılan DNS'yi kullanır. Ön uç genel IP adresi yoksa, giden dış bağlantı için bir ip adresi atanır.

Arka uç sunucusu DNS çözümlemesi

Bir arka uç havuzunun sunucusu Tam Etki Alanı Adı (FQDN) ile yapılandırıldığında, Application Gateway etki alanı adının IP adreslerini almak için bir DNS araması gerçekleştirir. IP değeri, gelen isteklerin sunulması sırasında hedeflere daha hızlı ulaşmasını sağlamak için uygulama ağ geçidinizin önbelleğinde depolanır.

Application Gateway bu önbelleğe alınmış bilgileri söz konusu DNS kaydının TTL'sine (yaşam süresi) eşdeğer bir süre boyunca saklar ve TTL'nin süresi dolduğunda yeni bir DNS araması gerçekleştirir. Bir ağ geçidi, sonraki DNS sorgusu için IP adresinde bir değişiklik algılarsa trafiği bu güncelleştirilmiş hedefe yönlendirmeye başlar. DNS aramasının yanıt alamaması veya kaydın artık mevcut olmaması gibi sorunlarda ağ geçidi bilinen son iyi IP adreslerini kullanmaya devam eder. Bu, veri yolu üzerinde en az etkiyi sağlar.

Önemli

  • Application Gateway'in Sanal Ağ özel DNS sunucuları kullanırken, tüm sunucuların aynı DNS değerleriyle tutarlı bir şekilde yanıt vermesi önemlidir. Application Gateway örneğiniz bir DNS sorgusu verdiği zaman, ilk olarak yanıt veren sunucudan gelen değeri kullanır.
  • Şirket içi özel DNS sunucularının kullanıcıları, Özel uç nokta için bir Özel DNS bölgesi kullanırken Azure DNS Özel Çözümleyicisi (önerilen) veya DNS ileticisi VM aracılığıyla Azure DNS bağlantısı sağlamalıdır.

İstekte yapılan değişiklikler

Application Gateway, istekleri arka uçtan iletmeden önce tüm isteklere altı ek üst bilgi ekler. Bu üst bilgiler x-forwarded-for, x-forwarded-port, x-forwarded-proto, x-original-host, x-original-url ve x-appgw-trace-id şeklindedir. x-forwarded-for üst bilgisinin biçimi, IP:bağlantı noktasının virgülle ayrılmış bir listesidir.

x-forwarded-proto için geçerli değerler HTTP veya HTTPS'dir. X-forwarded-port, isteğin uygulama ağ geçidine ulaştığı bağlantı noktasını belirtir. X-original-host üst bilgisi, isteğin geldiği özgün ana bilgisayar üst bilgisini içerir. Bu üst bilgi, trafik arka uçtan yönlendirilmeden önce gelen ana bilgisayar üst bilgisinin değiştirildiği Azure web sitesi tümleştirmesinde kullanışlıdır. Oturum benzimliği bir seçenek olarak etkinleştirildiyse ağ geçidi tarafından yönetilen benzite tanımlama bilgisi ekler.

X-appgw-trace-id, her istemci isteği için uygulama ağ geçidi tarafından oluşturulan ve arka uç havuzu üyesine iletilen istekte sunulan benzersiz bir guid'dir. Guid, tire olmadan sunulan 32 alfasayısal karakterden oluşur (örneğin: ac882cd65a2712a0fe1289ec2bb6aee7). Bu guid, uygulama ağ geçidi tarafından alınan ve Tanılama Günlüklerindeki transactionId özelliği aracılığıyla bir arka uç havuzu üyesiyle başlatılan bir isteği ilişkilendirmek için kullanılabilir.

Http üst bilgilerini ve URL'sini Yeniden Yaz'ı kullanarak istek ve yanıt üst bilgilerini ve URL'yi değiştirmek veya bir yol geçersiz kılma ayarı kullanarak URI yolunu değiştirmek için uygulama ağ geçidini yapılandırabilirsiniz. Ancak, bunu yapmak için yapılandırılmadığı sürece, tüm gelen istekler arka uçla karıştırılır.

Sonraki adımlar