Application Gateway'de arka uç durumu sorunlarını giderme

Genel bakış

Varsayılan olarak Azure Application Gateway arka uç sunucularının durumunu denetlemek ve isteklere hizmet vermeye hazır olup olmadıklarını öğrenmek için bu sunucuları yoklar. Kullanıcılar ayrıca konak adından, araştırılacak yoldan ve Sağlıklı olarak kabul edilecek durum kodlarından bahsetmek için özel yoklamalar oluşturabilir. Her durumda, arka uç sunucusu başarıyla yanıt vermezse Application Gateway sunucuyu İyi durumda değil olarak işaretler ve istekleri sunucuya iletmeyi durdurur. Sunucu başarıyla yanıt vermeye başladıktan sonra, Application Gateway istekleri iletmeyi sürdürür.

Arka uç durumunu denetleme

Arka uç havuzunuzun durumunu denetlemek için, Azure portalda bulunan Arka Uç Durumu sayfasını kullanabilirsiniz. Ya da, Azure PowerShell, CLI veya REST API seçeneklerini kullanabilirsiniz.

Bu yöntemlerden herhangi biri tarafından alınan durum aşağıdaki durumlardan biri olabilir:

  • Sağlam
  • Uygun Değil
  • Bilinmiyor

Application Gateway, durumu iyi durumdaysa arka uç havuzundan bir sunucuya bir istek iletir. Arka uç havuzundaki tüm sunucular iyi durumda değilse veya bilinmiyorsa, istemciler arka uç uygulamasına erişirken sorunlarla karşılaşabilir. Arka Uç Durumu tarafından bildirilen farklı iletileri, bunların nedenlerini ve çözümlerini anlamak için daha fazla bilgi edinin.

Not

Kullanıcınızın arka uç sistem durumu durumlarını No results. görme izni yoksa gösterilir.

Arka uç sistem durumu: İyi durumda değil

Arka uç sistem durumu İyi durumda değilse portal görünümü aşağıdaki ekran görüntüsüne benzer:

Application Gateway backend health - Unhealthy

Azure PowerShell, CLI veya Azure REST API sorgusu kullanıyorsanız aşağıdaki örneğe benzer bir yanıt alırsınız:

PS C:\Users\testuser\> Get-AzApplicationGatewayBackendHealth -Name "appgw1" -ResourceGroupName "rgOne"
BackendAddressPools :
{Microsoft.Azure.Commands.Network.Models.PSApplicationGatewayBackendHealthPool}
BackendAddressPoolsText : [
{
                              "BackendAddressPool": {
                                "Id": "/subscriptions/536d30b8-665b-40fc-bd7e-68c65f816365/resourceGroups/rgOne/providers/Microsoft.Network/applicationGateways/appgw1/b
                          ackendAddressPools/appGatewayBackendPool"
                              },
                              "BackendHttpSettingsCollection": [
                                {
                                  "BackendHttpSettings": {
                                    "TrustedRootCertificates": [],
                                    "Id": "/subscriptions/536d30b8-665b-40fc-bd7e-68c65f816365/resourceGroups/rgOne/providers/Microsoft.Network/applicationGateways/appg
                          w1/backendHttpSettingsCollection/appGatewayBackendHttpSettings"
                                  },
                                  "Servers": [
                                    {
                                      "Address": "10.0.0.5",
                                      "Health": "Healthy"
                                    },
                                    {
                                      "Address": "10.0.0.6",
                                      "Health": "Unhealthy"
                                    }
                                  ]
                                }
                              ]
                            }
                        ]

Arka uç havuzundaki tüm sunucular için “arka uç sunucusu iyi durumda değil” durumu aldıktan sonra, istekler sunuculara iletilmez ve Application Gateway istekte bulunan istemciye "502 Hatalı Ağ Geçidi" hatası döndürür. Bu sorunu gidermek için Arka Uç Sistem Durumu sekmesindeki Ayrıntılar sütununa bakın.

Ayrıntılar sütununda görüntülenen ileti sorun hakkında daha ayrıntılı içgörüler sağlar ve bu ayrıntılara dayanarak sorunu gidermeye başlayabilirsiniz.

Not

Varsayılan yoklama isteği protocol>://127.0.0.1:<port> biçiminde <gönderilir. Örneğin, http://127.0.0.1:80 bağlantı noktası 80'de bir HTTP yoklaması için. Yalnızca 200 ile 399 arasındaki HTTP durum kodları iyi durumda kabul edilir. Protokol ve hedef bağlantı noktası HTTP ayarlarından devralınır. Application Gateway'in farklı bir protokol, ana bilgisayar adı veya yolda araştırmasını ve farklı bir durum kodunu Sağlıklı olarak tanımasını istiyorsanız, özel bir yoklama yapılandırın ve bunu HTTP ayarlarıyla ilişkilendirin.

Hata iletileri

Arka uç sunucusu zaman aşımı

İleti: Arka ucun uygulama ağ geçidinin sistem durumu yoklamasına yanıt verirken harcadığı süre, yoklama ayarındaki zaman aşımı eşiğinden fazladır.

Neden: Application Gateway arka uç sunucusuna HTTP(S) yoklama isteği gönderdikten sonra, yapılandırılmış bir süre boyunca arka uç sunucusundan yanıt bekler. Arka uç sunucusu yapılandırılan süre (zaman aşımı değeri) içinde yanıt vermezse, yapılandırılan zaman aşımı süresi içinde yeniden yanıt vermeye başlayana kadar İyi Durumda Değil olarak işaretlenir.

Çözüm: Arka uç sunucusunun veya uygulamanın yapılandırılan zaman aşımı süresi içinde neden yanıt vermediğini ve ayrıca uygulama bağımlılıklarını denetleyin. Örneğin, veritabanında yanıt gecikmesi tetikleyebilecek sorunlar olup olmadığını denetleyin. Uygulamanın davranışının farkındaysanız ve uygulama yalnızca zaman aşımı değerinden sonra yanıt vermeliyse özel yoklama ayarlarından zaman aşımı değerini artırın. Zaman aşımı değerini değiştirmek için özel bir yoklamanız olmalıdır. Özel yoklama yapılandırma hakkında bilgi için belgeler sayfasına bakın.

Zaman aşımı değerini artırmak için şu adımları izleyin:

  1. Arka uç sunucusuna doğrudan erişin ve sunucunun bu sayfada yanıt vermesi için geçen süreyi denetleyin. Geliştirici araçlarını kullanan bir tarayıcı dahil olmak üzere arka uç sunucusuna erişmek için herhangi bir aracı kullanabilirsiniz.
  2. Uygulamanın yanıt vermesi için geçen süreyi belirledikten sonra Sistem Durumu Yoklamaları sekmesini ve ardından HTTP ayarlarınız ile ilişkili araştırmayı seçin.
  3. Uygulama yanıt süresinden daha uzun zaman aşımı değerlerini saniye olarak girin.
  4. Özel yoklama ayarlarını kaydedin ve arka uç durumunun şimdi Sağlıklı olarak gösterilip gösterilmediğini denetleyin.

DNS çözümleme hatası

İleti: Application Gateway bu arka uç için bir yoklama oluşturamadı. Bu durum genellikle arka ucun FQDN değerinin doğru girilmemesinden kaynaklanır. 

Neden: Arka uç havuzu IP Adresi, FQDN (tam etki alanı adı) veya App Service türündeyse, Application Gateway DNS (özel veya Azure varsayılan) aracılığıyla girilen FQDN'nin IP adresine çözümleniyor. Ardından Application Gateway HTTP ayarlarında belirtilen TCP bağlantı noktasında sunucuya bağlanmayı dener. Ama bu iletinin görüntülenmesi Application Gateway'in girilen FQDN'sinin IP adresini başarıyla çözümleyemediğine işaret eder.

Çözüm:

  1. Arka uç havuzuna girilen FQDN'nin doğru olduğunu ve bir genel etki alanı olduğunu onaylayıp bunu yerel makinenizden çözümlemeyi deneyin.
  2. IP adresini çözümleyebiliyorsanız, sanal ağdaki DNS yapılandırmasında bir sorun olabilir.
  3. Sanal ağın özel bir DNS sunucusuyla yapılandırılıp yapılandırılmadığını denetleyin. Bu durumda, DNS sunucusunun belirtilen FQDN'nin IP adresine neden çözümlenemediğini denetleyin.
  4. Azure varsayılan DNS’ini kullanıyorsanız, uygun A kaydı veya CNAME kaydı eşlemenin tamamlanıp tamamlanmadığını etki alanı adı kayıt şirketinize danışın.
  5. Etki alanı özel veya dahiliyse, etki alanını aynı sanal ağdaki bir VM'den çözümlemeyi deneyin. Çözümleyebiliyorsanız Application Gateway’yi yeniden başlatın ve tekrar denetleyin. Application Gateway’yi yeniden başlatmak için, bu bağlantılı kaynaklarda açıklanan PowerShell komutlarını kullanarak durdurmanız ve başlatmanız gerekir.

TCP bağlantısı hatası

İleti: Application Gateway arka uca bağlanamadı. Arka ucun yoklama için kullanılan bağlantı noktasında yanıt verdiğini denetleyin. Ayrıca herhangi bir NSG/UDR/Güvenlik Duvarının bu arka ucun IP'sine ve bağlantı noktasına erişimi engelleyip engellemediğini denetleyin.

Neden: DNS çözümleme aşamasından sonra Application Gateway HTTP ayarlarında yapılandırılan TCP bağlantı noktası üzerinden arka uç sunucusuna bağlanmayı dener. Application Gateway, belirtilen bağlantı noktasında bir TCP oturumu oluşturamazsa, sistem durumu yoklaması bu iletiyle İyi durumda değil olarak işaretlenir.

Çözüm: Bu hatayı alırsanız şu adımları izleyin:

  1. Bir tarayıcı veya PowerShell kullanarak HTTP ayarlarında belirtilen bağlantı noktasında arka uç sunucusuna bağlanıp bağlanamayacağınızı denetleyin. Örneğin, şu komutu çalıştırın: Test-NetConnection -ComputerName www.bing.com -Port 443.

  2. Belirtilen bağlantı noktası istenen bağlantı noktası değilse, Application Gateway'in arka uç sunucusuna bağlanması için doğru bağlantı noktası numarasını girin.

  3. Bağlantı noktasında yerel makinenizden de bağlanamıyorsanız:

    a. Arka uç sunucusunun ağ bağdaştırıcısının ve alt ağının ağ güvenlik grubu (NSG) ayarlarını ve yapılandırılan bağlantı noktasına gelen bağlantılara izin verilip verilmediğini denetleyin. Aksi takdirde, bağlantılara izin vermek için yeni bir kural oluşturun. NSG kuralları oluşturmayı öğrenmek için belgeler sayfasına bakın.

    b. Application Gateway alt ağına ait NSG ayarlarının giden genel ve özel trafiğe izin verip vermediğini denetleyin, böylece bağlantı yapılabilir. NSG kuralları oluşturma hakkında daha fazla bilgi edinmek için 3a adımında sağlanan belge sayfasını gözden geçirin.

            $vnet = Get-AzVirtualNetwork -Name "vnetName" -ResourceGroupName "rgName"
            Get-AzVirtualNetworkSubnetConfig -Name appGwSubnet -VirtualNetwork $vnet
    

    c. Application Gateway'in kullanıcı tanımlı yolları (UDR) ayarlarını ve yönlendirme anomalileri için arka uç sunucusunun alt akını denetleyin. UDR'nin trafiği arka uç alt ağından uzaklaştırmadığından emin olun. Örneğin, Ağ sanal gereçlerine giden yolları veya Azure ExpressRoute ve/veya VPN aracılığıyla Application Gateway alt ağına tanıtılan varsayılan yolları denetleyin.

    d. Ağ bağdaştırıcısının geçerli yollarını ve kurallarını denetlemek için aşağıdaki PowerShell komutlarını kullanabilirsiniz:

            Get-AzEffectiveNetworkSecurityGroup -NetworkInterfaceName "nic1" -ResourceGroupName "testrg"
            Get-AzEffectiveRouteTable -NetworkInterfaceName "nic1" -ResourceGroupName "testrg"
    
  4. NSG veya UDR ile ilgili herhangi bir sorun bulamazsanız, istemcilerin yapılandırılan bağlantı noktalarında TCP oturumu oluşturmasını engelleyen uygulamayla ilgili sorunlar için arka uç sunucunuzu denetleyin. Denetlenecek birkaç şey:

    a. Bir komut istemi açın (Win+R -> cmd), netstat girin ve Enter'ı seçin.

    b. Sunucunun yapılandırılan bağlantı noktasında dinleyip dinlemediğini denetleyin. Örneğin:

            Proto Local Address Foreign Address State PID
            TCP 0.0.0.0:80 0.0.0.0:0 LISTENING 4
    

    c. Yapılandırılan bağlantı noktasında dinlemiyorsa web sunucusu ayarlarınızı denetleyin. Örneğin: IIS'de site bağlamaları, NGINX'te sunucu bloğu ve Apache'de sanal konak.

    d. Bağlantı noktasına gelen trafiğe izin verildiğinden emin olmak için işletim sistemi güvenlik duvarı ayarlarınızı denetleyin.

HTTP durum kodu uyuşmazlığı

İleti: Arka ucun HTTP yanıtının durum kodu yoklama ayarıyla eşleşmedi. Beklenen:{HTTPStatusCode0} Alındı:{HTTPStatusCode1}.

Neden: TCP bağlantısı kurulduktan ve TLS el sıkışması yapıldıktan sonra (TLS etkinleştirildiyse), Application Gateway arka uç sunucusuna yoklamayı bir HTTP GET isteği olarak gönderir. Daha önce açıklandığı gibi, varsayılan yoklama için <protocol>://127.0.0.1:<port>/olacaktır ve 200 ile 399 aralığındaki yanıt durum kodlarını Sağlıklı olarak kabul eder. Sunucu başka bir durum kodu döndürürse, bu iletiyle sağlıksız olarak işaretlenir.

Çözüm: Arka uç sunucusunun yanıt koduna bağlı olarak aşağıdaki adımları uygulayabilirsiniz. Yaygın durum kodlarından birkaçı burada listelenmiştir:

Hata Eylemler
Yoklama durum kodu uyuşmazlığı: 401 alındı Arka uç sunucusunun kimlik doğrulaması gerektip gerektirmediğini denetleyin. Application Gateway yoklamaları kimlik doğrulaması için kimlik bilgilerini geçiremez. Yoklama durum kodu eşleşmesinde "HTTP 401"e izin verin veya sunucunun kimlik doğrulaması gerektirmediği bir yolla yoklayın.
Yoklama durum kodu uyuşmazlığı: Alınan 403 Erişim yasak. Arka uç sunucusunda yola erişime izin verilip verilmediğini denetleyin.
Yoklama durum kodu uyuşmazlığı: 404 alındı Sayfa bulunamadı. Ana bilgisayar adı yolunun arka uç sunucusundan erişilebilir olup olmadığını denetleyin. Konak adını veya yol parametresini erişilebilir bir değerle değiştirin.
Yoklama durum kodu uyuşmazlığı: 405 alındı Application Gateway için yoklama istekleri HTTP GET yöntemini kullanır. Sunucunuzun bu yönteme izin verip vermeyeceğini denetleyin.
Yoklama durum kodu uyuşmazlığı: 500 alındı İç sunucu hatası. Arka uç sunucusunun sistem durumunu ve hizmetlerin çalışıp çalışmadığını denetleyin.
Yoklama durum kodu uyuşmazlığı: 503 alındı Hizmet kullanılamıyor. Arka uç sunucusunun sistem durumunu ve hizmetlerin çalışıp çalışmadığını denetleyin.

Alternatif olarak, yanıtın meşru olduğunu düşünüyorsanız ve Application Gateway'in diğer durum kodlarını Sağlıklı olarak kabul etmelerini istiyorsanız, özel bir yoklama oluşturabilirsiniz. Bu yaklaşım, arka uç web sitesinin kimlik doğrulamasına ihtiyaç duyduğu durumlarda kullanışlıdır. Yoklama istekleri herhangi bir kullanıcı kimlik bilgisi taşımadığından başarısız olur ve arka uç sunucusu tarafından bir HTTP 401 durum kodu döndürülür.

Özel bir yoklama oluşturmak için aşağıdaki adımları izleyin.

HTTP yanıt gövdesi uyuşmazlığı

İleti: Arka ucun HTTP yanıtının gövdesi yoklama ayarıyla eşleşmedi. Alınan yanıt gövdesi {string} içermiyor.

Neden: Özel bir yoklama oluşturduğunuzda, yanıt gövdesinden bir dizeyi eşleştirerek arka uç sunucusunu Sağlıklı olarak işaretleyebilmek. Örneğin, Application Gateway'i "yetkisiz" ifadesi ile eşleşecek bir dize olarak kabul edilecek şekilde yapılandırabilirsiniz. Yoklama isteğinin arka uç sunucu yanıtı yetkisiz dizeyi içeriyorsa, bunu Sağlıklı olarak işaretler. Aksi takdirde, verilen iletiyle sağlıksız olarak işaretlenir.

Çözüm: Bu sorunu çözmek için şu adımları izleyin:

  1. Arka uç sunucusuna yerel olarak veya yoklama yolundaki bir istemci makinesinden erişin ve yanıt gövdesini denetleyin.
  2. Application Gateway özel yoklama yapılandırmasındaki yanıt gövdesinin, yapılandırdığınızla eşleştiğini doğrulayın.
  3. Eşleşmiyorsa yoklama yapılandırmasını kabul edilecek doğru dize değerine sahip olacak şekilde değiştirin.

Application Gateway yoklaması eşleştirme hakkında daha fazla bilgi edinin.

Not

TLS ile ilgili tüm hata iletileri için, sni davranışı ve v1 ile v2 SKU arasındaki farklar hakkında daha fazla bilgi edinmek için TLS genel bakış sayfasına bakın.

Ortak Ad (CN) eşleşmiyor

İleti: (V2 için) Arka uç sunucusu tarafından sunulan yaprak sertifikanın Ortak Adı, uygulama ağ geçidinin Yoklama veya Arka Uç Ayarı ana bilgisayar adıyla eşleşmiyor.
(V1 için) Arka uç sertifikasının Ortak Adı (CN) eşleşmiyor.

Neden: (V2 için) Arka uç ayarında HTTPS protokolünü seçtiğinizde ve ne Özel Yoklamanın konak adı ne de Arka Uç Ayarının konak adı (bu sırayla) arka uç sunucusu sertifikasının Ortak Adı (CN) ile eşleşmediğinde bu durum oluşur.
(V1 için) Arka uç havuzu hedefinin FQDN'si, arka uç sunucusunun sertifikasının Ortak Adı (CN) ile eşleşmiyor.

Çözüm: Bu değer TLS el sıkışması sırasında Sunucu Adı Göstergesi'ni (SNI) ayarlamak için kullanıldığından, ana bilgisayar adı bilgileri arka uç HTTPS bağlantısı için kritik öneme sahiptir. Bu sorunu ağ geçidinizin yapılandırmasına bağlı olarak aşağıdaki yollarla düzeltebilirsiniz.

V2 için,

  • Varsayılan Yoklama kullanıyorsanız – Uygulama ağ geçidinizin ilişkili Arka uç ayarında bir konak adı belirtebilirsiniz. Arka uç ayarında "Belirli ana bilgisayar adıyla geçersiz kıl" veya "Arka uç hedefinden konak adı seç" seçeneğini belirleyebilirsiniz.
  • Özel Yoklama kullanıyorsanız – Özel Yoklama için arka uç sunucu sertifikasının Ortak Adını belirtmek için "konak" alanını kullanabilirsiniz. Alternatif olarak, Arka Uç Ayarı zaten aynı ana bilgisayar adıyla yapılandırılmışsa yoklama ayarlarından "Arka uç ayarından konak adı seç" seçeneğini belirleyebilirsiniz.

V1 için arka uç havuzu hedefinin FQDN'sinin Ortak Ad (CN) ile aynı olduğunu doğrulayın.

İpuçları: Arka uç sunucularının sertifikasının Ortak Adını (CN) belirlemek için bu yöntemlerden herhangi birini kullanabilirsiniz. Ayrıca, RFC 6125'e göre bir SAN varsa SNI doğrulamasının yalnızca bu alanda yapıldığını unutmayın. Sertifikada SAN yoksa ortak ad alanı eşleşir.

  • Tarayıcıyı veya herhangi bir istemciyi kullanarak: Arka uç sunucusuna doğrudan erişin (Application Gateway üzerinden değil) ve sertifika ayrıntılarını görüntülemek için adres çubuğundaki sertifika asma kilidine tıklayın. Bunu "Verilen" bölümünde bulabilirsiniz. Screenshot that shows certificate details in a browser.

  • Arka uç sunucusunda (Windows) oturum açarak:

    1. Uygulamanızın barındırıldığı makinede oturum açın.
    2. Win+R'yi seçin veya Başlat düğmesine sağ tıklayın ve Çalıştır'ı seçin.
    3. certlm.msc girin ve Enter tuşuna basın. Sertifika Yöneticisi'ni Başlat menüsü de arayabilirsiniz.
    4. Sertifikayı bulun (genellikle Sertifikalar - Yerel Bilgisayar\Kişisel\Sertifikalar) ve sertifikayı açın.
    5. Ayrıntılar sekmesinde sertifika Konusu'na bakın.
  • Arka uç sunucusuna (Linux) oturum açarak: Doğru sertifika dosya adını belirterek bu OpenSSL komutunu çalıştırın openssl x509 -in certificate.crt -subject -noout

Arka uç sertifikasının süresi doldu

İleti: Arka uç sertifikası geçersiz. Geçerli tarih, sertifikadaki "Geçerlilik tarihi" ve "Geçerlilik tarihi" tarih aralığında değil.

Neden: Süresi dolmuş bir sertifikanın güvenli olmadığı kabul edilir ve bu nedenle uygulama ağ geçidi, süresi dolmuş sertifikaya sahip arka uç sunucusunu iyi durumda değil olarak işaretler.

Çözüm: Çözüm, arka uç sunucusunda sertifika zincirinin hangi bölümünün süresinin dolduğuna bağlıdır.

V2 SKU için,

  • Süresi Dolmuş Yaprak (Etki Alanı veya Sunucu olarak da bilinir) sertifikası – Sunucu sertifikasını sertifika sağlayıcısıyla yenileyin ve yeni sertifikayı arka uç sunucusuna yükleyin. 'inden oluşan sertifika zincirinin tamamını yüklediğinizden Leaf (topmost) > Intermediate(s) > Rootemin olun. Sertifika Yetkilisi (CA) türüne bağlı olarak, ağ geçidinizde aşağıdaki eylemleri gerçekleştirebilirsiniz.

    • Genel olarak bilinen CA: Sertifika veren iyi bilinen bir CA ise, uygulama ağ geçidinde herhangi bir işlem yapmanız gerekmez.
    • Özel CA: Yaprak sertifika bir özel CA tarafından verildiyse, imzalama Kök CA sertifikasının değişip değişmediğini denetlemeniz gerekir. Böyle durumlarda, yeni Kök CA sertifikasını ( yüklemeniz gerekir. CER) ile ağ geçidinizin ilişkili Arka Uç ayarına gidin.
  • Süresi Dolan Ara veya Kök sertifika – Genellikle bu sertifikaların geçerlilik süreleri (on veya iki yıl) uzatılır. Kök/Ara sertifikanın süresi dolduğunda, yenilenen sertifika dosyaları için sertifika sağlayıcınıza danışın. Arka uç sunucusuna bu Leaf (topmost) > Intermediate(s) > Root güncelleştirilmiş ve eksiksiz sertifika zincirini yüklediğinizden emin olun.

    • Kök sertifika değişmeden kalırsa veya veren iyi bilinen bir CA ise, uygulama ağ geçidinde herhangi bir işlem yapmanız GEREKMEDİR.
    • Özel CA kullanırken, Kök CA sertifikasının kendisi veya yenilenen Ara sertifikanın kökü değiştiyse, yeni Kök sertifikayı uygulama ağ geçidinin Arka Uç Ayarına yüklemeniz gerekir.

V1 SKU için,

  • Süresi dolan Yaprak (Etki Alanı veya Sunucu olarak da bilinir) sertifikasını CA'nızla yenileyin ve aynı yaprak sertifikayı (. CER) öğesini uygulama ağ geçidinizin ilişkili Arka uç ayarına ayarlayın.

Ara sertifika bulunamadı

İleti:Arka uç sunucusu tarafından sunulan sertifika zincirinde Ara sertifika eksik . Sertifika zincirinin tamamlandığından ve arka uç sunucusunda doğru şekilde sıralandığından emin olun.

Neden: Ara sertifikalar arka uç sunucusundaki sertifika zincirine yüklenmez.

Çözüm: Yaprak sertifikasını imzalamak için ara sertifika kullanılır ve bu nedenle zinciri tamamlamak için gereklidir. Gerekli Ara sertifikalar için Sertifika Yetkilinize (CA) danışın ve bunları arka uç sunucunuza yükleyin. Bu zincir Yaprak Sertifika, ardından Ara sertifikalar ve son olarak Kök CA sertifikası ile başlamalıdır. Arka uç sunucusuna Kök CA sertifikası da dahil olmak üzere tam zinciri yüklemenizi öneririz. Başvuru için, Yaprak zincirde en üstte olmalıdır altındaki sertifika zinciri örneğine bakın.

Not

Sertifika Yetkilisi DEĞİl otomatik olarak imzalanan bir sertifika da aynı hataya neden olur. Bunun nedeni, uygulama ağ geçidinin otomatik olarak imzalanan sertifikayı "Yaprak" sertifikası olarak değerlendirmesi ve imzalanan Ara sertifikayı aramasıdır. Otomatik olarak imzalanan bir sertifikayı doğru şekilde oluşturmak için bu makaleyi izleyebilirsiniz.

Bu görüntüler otomatik olarak imzalanan sertifikalar arasındaki farkı gösterir. Screenshot showing difference between self-signed certificates.

Yaprak veya sunucu sertifikası bulunamadı

İleti:Arka uç sunucusu tarafından sunulan sertifika zincirinde Yaprak sertifika eksik . Arka uç sunucusunda zincirin tamamlandığından ve doğru sıralandığından emin olun.

Neden: Yaprak (Etki Alanı veya Sunucu olarak da bilinir) sertifikası arka uç sunucusundaki sertifika zincirinde yok.

Çözüm: Yaprak sertifikayı Sertifika Yetkilinizden (CA) alabilirsiniz. Bu yaprak sertifikayı ve tüm imzalama sertifikalarını (Ara ve Kök CA sertifikaları) arka uç sunucusuna yükleyin. Bu zincir Yaprak Sertifikasıyla başlamalı, arkasından ara sertifika gelmeli ve son olarak da Kök CA sertifikası bulunmalıdır. Arka uç sunucusuna Kök CA sertifikası da dahil olmak üzere tam zinciri yüklemenizi öneririz. Başvuru için, Yaprak zincirde en üstte olmalıdır altındaki sertifika zinciri örneğine bakın.

Sunucu sertifikası genel olarak bilinen bir CA tarafından verilmedi

İleti: Arka uç Sunucu sertifikası iyi bilinen bir Sertifika Yetkilisi (CA) tarafından imzalanmaz. Bilinmeyen CA sertifikalarını kullanmak için Kök sertifikası, uygulama ağ geçidinin Arka Uç Ayarına yüklenmelidir.

Neden: Arka uç ayarında "iyi bilinen CA sertifikası" seçtiniz, ancak arka uç sunucusu tarafından sunulan Kök sertifika genel olarak bilinmiyor.

Çözüm: Yaprak sertifika özel sertifika yetkilisi (CA) tarafından verildiğinde, imzalanan Kök CA'nın sertifikası uygulama ağ geçidinin ilişkili Arka Uç Ayarına yüklenmelidir. Bu, uygulama ağ geçidinizin bu arka uç sunucusuyla güvenilir bir bağlantı kurmasını sağlar. Bu sorunu düzeltmek için, ilişkili arka uç ayarına gidin, “iyi bilinen CA değil” seçeneğini belirleyin ve Kök CA sertifikasını (CER) karşıya yükleyin. Kök sertifikayı belirlemek ve indirmek için Güvenilen kök sertifika uyumsuzluğu altında açıklanan adımları izleyebilirsiniz.

Ara sertifika, genel olarak bilinen bir CA tarafından imzalanmaz.

İleti:Ara sertifika iyi bilinen bir Sertifika Yetkilisi (CA) tarafından imzalanmaz. Sertifika zincirinin tamamlandığından ve arka uç sunucusunda doğru şekilde sıralandığından emin olun.

Neden: Arka uç ayarında "iyi bilinen CA sertifikası" seçtiniz, ancak arka uç sunucusu tarafından sunulan Ara sertifika genel olarak bilinen herhangi bir CA tarafından imzalanmamış.

Çözüm: Özel bir Sertifika Yetkilisi (CA) tarafından bir sertifika verildiğinde, imzalanan Kök CA'nın sertifikası uygulama ağ geçidinin ilişkili Arka Uç Ayarına yüklenmelidir. Böylece, uygulama ağ geçidiniz bu arka uç sunucusuyla güvenilir bir bağlantı kurabilir. Bunu düzeltmek için özel CA'nıza başvurarak uygun Kök CA sertifikasını ( alın. CER) ve karşıya yükleyin. "İyi bilinen bir CA değil" seçeneğini belirleyerek uygulama ağ geçidinizin Arka Uç Ayarına CER dosyası. Ayrıca, kolay doğrulama için, arka uç sunucusuna Kök CA sertifikası da dahil olmak üzere tam zinciri yüklemenizi öneririz.

Güvenilen kök sertifika uyuşmazlığı (arka uç sunucusunda Kök sertifika yok)

İleti: Ara sertifika, uygulama ağ geçidine yüklenen kök sertifikalar tarafından imzalanmamış. Sertifika zincirinin tamamlandığından ve arka uç sunucusunda doğru şekilde sıralandığından emin olun.

Neden: İlişkili Arka Uç Ayarına yüklenen Kök CA sertifikalarının hiçbiri arka uç sunucusunda yüklü Ara sertifikayı imzalamadı. Arka uç sunucusunda yalnızca Yaprak ve Ara sertifikaları yüklü.

Çözüm: Yaprak sertifika, Kök CA sertifikası tarafından imzalanan bir Ara sertifika tarafından imzalanır. Özel Sertifika Yetkilisinden (CA) alınan bir sertifikayı kullanırken, ilgili Kök CA sertifikasını uygulama ağ geçidine yüklemeniz gerekir. Özel sertifika yetkilinize başvurarak uygun Kök CA sertifikasını (.CER) alın ve bu CER dosyasını uygulama ağ geçidinizin Arka uç ayarına yükleyin.

Güvenilen kök sertifika uyuşmazlığı (Kök sertifika arka uç sunucusunda kullanılabilir)

İleti: Arka uç tarafından kullanılan sunucu sertifikasının kök sertifikası, uygulama ağ geçidine eklenen güvenilen kök sertifikayla eşleşmiyor. Arka ucu izin verilenler listesine eklemek için doğru kök sertifikayı eklediğinizden emin olun.

Neden: Bu hata, uygulama ağ geçidinizin arka uç ayarına yüklenen Kök sertifikalardan hiçbiri arka uç sunucusunda bulunan Kök sertifikayla eşleşmediğinde oluşur.

Çözüm: Bu, Özel Sertifika Yetkilisi (CA) tarafından verilen bir arka uç sunucu sertifikası için geçerlidir veya otomatik olarak imzalanan bir sertifikadır. Doğru Kök CA sertifikasını belirleyin ve ilişkili arka uç ayarına yükleyin.

İpuçları: Kök sertifikayı tanımlamak ve indirmek için bu yöntemlerden herhangi birini kullanabilirsiniz.

  • Tarayıcı kullanarak: Arka uç sunucusuna doğrudan erişin (Application Gateway üzerinden değil) ve sertifika ayrıntılarını görüntülemek için adres çubuğundaki sertifika asma kilidine tıklayın.

    1. Zincirdeki kök sertifikayı seçin ve Dışarı Aktar'a tıklayın. Varsayılan olarak, bu bir olacaktır. CRT dosyası.
    2. bunu açın. CRT dosyası.
    3. Ayrıntılar sekmesine gidin ve "Dosyaya Kopyala"ya tıklayın,
    4. Sertifika Dışarı Aktarma Sihirbazı sayfasında İleri'ye tıklayın.
    5. "Base-64 kodlanmış X.509 ( öğesini seçin. CER) ve İleri'ye tıklayın,
    6. Yeni bir dosya adı verin ve İleri'ye tıklayın.
    7. Almak için Son'a tıklayın. CER dosyası.
    8. Bu Kök sertifikayı (. CER) özel CA'nızı uygulama ağ geçidinin arka uç ayarına gönderir.
  • Arka uç sunucusunda oturum açarak (Windows)

    1. Uygulamanızın barındırıldığı makinede oturum açın.
    2. Win+R'yi seçin veya Başlangıç düğmesine sağ tıklayın ve ardından Çalıştır'ı seçin.
    3. certlm.msc girin ve Enter tuşuna basın. Sertifika Yöneticisi'ni Başlat menüsü de arayabilirsiniz.
    4. Sertifikayı bulun ( genellikle Sertifikalar - Yerel Bilgisayar\Kişisel\Sertifikalar) ve açın.
    5. Kök sertifikayı ve ardından Sertifikayı Görüntüle'yi seçin.
    6. Sertifika özellikleri'nde Ayrıntılar sekmesini seçin ve "Dosyaya Kopyala" seçeneğine tıklayın.
    7. Sertifika Dışarı Aktarma Sihirbazı sayfasında İleri'ye tıklayın.
    8. "Base-64 kodlanmış X.509 ( öğesini seçin. CER) ve İleri'ye tıklayın,
    9. Yeni bir dosya adı verin ve İleri'ye tıklayın.
    10. Almak için Son'a tıklayın. CER dosyası.
    11. Bu Kök sertifikayı (. CER) özel CA'nızı uygulama ağ geçidinin arka uç ayarına gönderir.

Yaprak zincirde en üstte olmalıdır.

İleti: Yaprak sertifikası, arka uç sunucusu tarafından sunulan zincirde en üstteki sertifika değildir. Sertifika zincirinin arka uç sunucusunda doğru şekilde sıralandığından emin olun.

Neden: Yaprak (Etki Alanı veya Sunucu olarak da bilinir) sertifikası arka uç sunucusunda doğru sırada yüklü değil.

Çözüm: Arka uç sunucusundaki sertifika yüklemesi, yaprak sertifikayı ve tüm imzalama sertifikalarını (Ara ve Kök CA sertifikaları) içeren sıralı bir sertifika listesi içermelidir. Bu zincir yaprak sertifikasıyla başlamalı, arkasından Ara sertifikalar gelmeli ve son olarak da Kök CA sertifikası bulunmalıdır. Kök CA sertifikası da dahil olmak üzere tüm zinciri arka uç sunucusuna yüklemenizi öneririz.

Verilen, OpenSSL'de derinlikler (0, 1, 2 vb.) olarak belirtilen Ara ve Kök CA sertifikaları ile birlikte bir Sunucu sertifikası yükleme örneğidir. Aşağıdaki OpenSSL komutlarını kullanarak arka uç sunucunuzun sertifikası için de aynı şeyi doğrulayabilirsiniz.
s_client -connect <FQDN>:443 -showcerts
VEYA
s_client -connect <IPaddress>:443 -servername <TLS SNI hostname> -showcerts

Screenshot showing typical chain of certificates.

Sertifika doğrulaması başarısız oldu

İleti: Arka uç sertifikasının geçerliliği doğrulanamadı. Nedenini öğrenmek için {errorCode} hata koduyla ilişkili ileti için OpenSSL tanılamalarını denetleyin

Neden: Bu hata, Application Gateway sertifikanın geçerliliğini doğrulayamazsa oluşur.

Çözüm: Bu sorunu çözmek için sunucunuzdaki sertifikanın düzgün oluşturulduğunu doğrulayın. Örneğin sertifikanızı ve özelliklerini OpenSSL kullanarak doğrulayabilir, ardından sertifikayı Application Gateway'in HTTP ayarlarına yeniden yüklemeyi deneyebilirsiniz.

Arka uç sistem durumu: Bilinmiyor

Arka uç havuzunun DNS girişlerine Güncelleştirmeler

İleti: Arka uç sistem durumu alınamadı. Bu durum, v1 SKU'su ve v2 SKU'su durumunda 65200-65535 bağlantı noktalarındaki 65503-65534 bağlantı noktalarındaki trafiği engelleyen bir NSG/UDR/Güvenlik Duvarı olduğunda veya arka uç havuzunda yapılandırılan FQDN bir IP adresine çözümlenemediğinde oluşur. Daha fazla bilgi edinmek için - https://aka.ms/UnknownBackendHealthadresini ziyaret edin.

Neden: FQDN (Tam Etki Alanı Adı) tabanlı arka uç hedefleri için Application Gateway, sonraki DNS araması için yanıt alamazsa bilinen son iyi IP adresini önbelleğe alır ve kullanır. Bu durumdaki bir ağ geçidinde PUT işlemi DNS önbelleğini tamamen temizler. Sonuç olarak, ağ geçidinin ulaşabileceği herhangi bir hedef adres olmayacaktır.

Çözüm: Verilen FDQN'nin DNS araması için yanıt sağladığından emin olmak için DNS sunucularını denetleyin ve düzeltin. Ayrıca, DNS sunucularının uygulama ağ geçidinizin Sanal Ağ üzerinden erişilebilir olup olmadığını denetlemeniz gerekir.

Diğer nedenler

Arka uç durumu Bilinmiyor olarak gösteriliyorsa portal görünümü aşağıdaki ekran görüntüsüne benzer:

Application Gateway backend health - Unknown

Bu davranışın oluşmasının nedeni aşağıdakilerden biri ya da birkaçı olabilir:

  1. Application Gateway alt ağındaki NSG, 65503-65534 (v1 SKU) veya 65200-65535 (v2 SKU) bağlantı noktalarına "İnternet" üzerinden gelen erişimi engelliyor.
  2. Application Gateway alt ağındaki UDR varsayılan yola (0.0.0.0/0) ayarlanır ve sonraki atlama "İnternet" olarak belirtilmez.
  3. Varsayılan yol BGP üzerinden bir ExpressRoute/VPN bağlantısıyla bir sanal ağın kullanımına sunulur.
  4. Özel DNS sunucusu ortak etki alanı adlarını çözümleyemeyen bir sanal ağda yapılandırıldı.
  5. Application Gateway İyi Durumda Değil.

Çözüm:

  1. NSG'nizin İnternet'ten 65503-65534 (v1 SKU) veya 65200-65535 (v2 SKU) bağlantı noktalarına erişimi engelleyip engellemediğini denetleyin:

    a. Application Gateway'e Genel Bakış sekmesinde Sanal Ağ/Alt Ağ bağlantısını seçin. b. Sanal ağınızın Alt Ağlar sekmesinde Application Gateway'in dağıtıldığı alt ağı seçin. c. NSG'nin yapılandırılıp yapılandırılmadığını denetleyin. d. NSG yapılandırıldıysa, Arama sekmesinde veya Tüm kaynaklar altında bu NSG kaynağını arayın. e. Gelen Kuralları bölümünde, v1 SKU veya 65200-65535 v2 SKU için hedef bağlantı noktası aralığı 65503-65534'e izin vermek için Kaynak kümesi GatewayManager hizmet etiketi olarak ayarlanmış bir gelen kuralı ekleyin. f. Kaydet'i seçin ve arka ucu Sağlıklı olarak görüntüleyebildiğinizi doğrulayın. Alternatif olarak, bunu PowerShell/CLI aracılığıyla da yapabilirsiniz.

  2. UDR'nizin varsayılan yolu (0.0.0.0/0) olup olmadığını ve sonraki atlamanın İnternet olarak ayarlanmadığını denetleyin:

    a. Alt ağınızı belirlemek için 1a ve 1b adımlarını izleyin. b. UDR'nin yapılandırılıp yapılandırılmamış olduğunu denetleyin. Varsa, kaynağı arama çubuğunda veya Tüm kaynaklar'ın altında arayın. c. Sonraki atlamanın İnternet olarak ayarlanmadığı varsayılan yollar (0.0.0.0/0) olup olmadığını denetleyin. Ayar Sanal Gereç veya Sanal Ağ Ağ Geçidi ise, sanal gerecinizin veya şirket içi cihazınızın paketi değiştirmeden düzgün bir şekilde İnternet hedefine yönlendirediğinden emin olmanız gerekir. Yoklamalar bir sanal gereç üzerinden yönlendirilir ve değiştirilirse, arka uç kaynağı 200 durum kodu görüntüler ve Application Gateway sistem durumu Bilinmiyor olarak görüntülenebilir. Bu bir hataya işaret etmez. Trafiğin application gateway üzerinden sorunsuz bir şekilde yönlendirilmesi gerekir. d. Aksi takdirde, sonraki atlamayı İnternet olarak değiştirin, Kaydet'i seçin ve arka uç durumunu doğrulayın.

  3. ExpressRoute/VPN bağlantısı tarafından BGP üzerinden sanal ağa tanıtılan varsayılan yol (Sınır Ağ Geçidi Protokolü):

    a. BGP üzerinden sanal ağa ExpressRoute/VPN bağlantınız varsa ve varsayılan bir yol tanıtıyorsanız, paketi değiştirmeden İnternet hedefine geri yönlendirildiğinden emin olmanız gerekir. Application Gateway portalındaki Bağlan Ion Sorun Giderme seçeneğini kullanarak doğrulayabilirsiniz. b. Hedefi 1.1.1.1 gibi İnternet'e yönlendirilebilir herhangi bir IP adresi olarak el ile seçin. Hedef bağlantı noktasını herhangi bir şey olarak ayarlayın ve bağlantıyı doğrulayın. c. Sonraki atlama sanal ağ geçidiyse ExpressRoute veya VPN üzerinden tanıtılan varsayılan bir yol olabilir.

  4. Sanal ağda yapılandırılmış özel bir DNS sunucusu varsa, sunucuların genel etki alanlarını çözümleyebildiğini doğrulayın. Application Gateway'in OCSP (Çevrimiçi Sertifika Durum Protokolü) sunucuları gibi dış etki alanlarına ulaşması veya sertifikanın iptal durumunu denetlemesi gereken senaryolarda genel etki alanı adı çözümlemesi gerekebilir.

  5. Application Gateway'in iyi durumda olduğunu ve çalıştığını doğrulamak için portalda Kaynak Durumu seçeneğine gidin ve durumun Sağlıklı olduğunu doğrulayın. İyi durumda değil veya Düzeyi düşürülmüş bir durum görürseniz desteğe başvurun.

  6. İnternet ve özel trafik güvenli bir Sanal hub'da barındırılan bir Azure Güvenlik Duvarı üzerinden geçiyorsa (Azure Sanal WAN Hub kullanılarak):

    a. Uygulama ağ geçidinin trafiği doğrudan İnternet'e gönderediğinden emin olmak için aşağıdaki kullanıcı tanımlı yolu yapılandırın:

    Adres ön eki: 0.0.0.0/0
    Sonraki atlama: Internet

    b. Uygulama ağ geçidinin Sanal WAN hub'ında bir Azure Güvenlik Duvarı aracılığıyla arka uç havuzuna trafik gönderediğinden emin olmak için aşağıdaki kullanıcı tanımlı yolu yapılandırın:

    Adres Ön Eki: Arka uç havuzu alt ağı
    Sonraki atlama: özel IP adresini Azure Güvenlik Duvarı

Sonraki adımlar

Application Gateway tanılama ve günlüğe kaydetme hakkında daha fazla bilgi edinin.