Azure App Service'da "502 hatalı ağ geçidi" ve "503 hizmet kullanılamıyor" HTTP hatalarını giderme

"502 hatalı ağ geçidi" ve "503 hizmet kullanılamıyor" Azure App Service'de barındırılan uygulamanızda sık karşılaşılan hatalardır. Bu makale, bu hataları gidermenize yardımcı olur.

Bu makalenin herhangi bir noktasında daha fazla yardıma ihtiyacınız varsa MSDN Azure ve Stack Overflow forumlarında Azure uzmanlarına başvurabilirsiniz. Alternatif olarak, Azure desteği olayı da oluşturabilirsiniz. Azure Destek sitesine gidin ve Destek Al'a tıklayın.

Belirti

Uygulamaya göz attığınızda HTTP "502 Hatalı Ağ Geçidi" hatası veya HTTP "503 Hizmet Kullanılamıyor" hatası döndürür.

Nedeni

Bu sorun genellikle aşağıdakiler gibi uygulama düzeyindeki sorunlara neden olur:

  • uzun süren istekler
  • yüksek bellek/CPU kullanan uygulama
  • bir özel durum nedeniyle uygulama kilitleniyor.

"502 hatalı ağ geçidi" ve "503 hizmet kullanılamıyor" hatalarını çözmeye yönelik sorun giderme adımları

Sorun giderme, sıralı olarak üç ayrı görev olarak ayrılabilir:

  1. Uygulama davranışını gözlemleme ve izleme
  2. Veri toplama
  3. Sorunu azaltma

App Service her adımda çeşitli seçenekler sunar.

1. Uygulama davranışını gözlemleme ve izleme

Hizmet durumu izleme

Microsoft Azure, her hizmet kesintisi veya performans düşüşü olduğunda genel olarak kullanıma salar. Hizmetin durumunu Azure Portal'da izleyebilirsiniz. Daha fazla bilgi için bkz. Hizmet durumunu izleme.

Uygulamanızı izleme

Bu seçenek, uygulamanızın herhangi bir sorun yaşayıp yaşamadiğini öğrenmenizi sağlar. Uygulamanızın dikey penceresinde İstekler ve hatalar kutucuğuna tıklayın. Ölçüm dikey penceresi, ekleyebileceğiniz tüm ölçümleri gösterir.

Uygulamanız için izlemek isteyebileceğiniz ölçümlerden bazıları şunlardır:

  • Ortalama bellek çalışma kümesi
  • Ortalama yanıt süresi
  • CPU süresi
  • Bellek çalışma kümesi
  • İstekler

502 hatalı ağ geçidi ve 503 hizmetin kullanılamadığı HTTP hatalarını çözmeye yönelik uygulamayı izleme

Daha fazla bilgi için bkz.

2. Veri toplama

Tanılama aracını kullanma

App Service, yapılandırma gerektirmeden uygulamanızın sorunlarını gidermenize yardımcı olacak akıllı ve etkileşimli bir deneyim sağlar. Uygulamanızla ilgili sorunlarla karşılaştığınızda, tanılama aracı sorunu daha kolay ve hızlı bir şekilde gidermek ve çözmek için sizi doğru bilgilere yönlendirmenin yanlış olduğunu gösterir.

App Service tanılamaya erişmek için App Service uygulamanıza veya Azure portal App Service Ortamı gidin. Sol gezinti bölmesinde Sorunları tanıla ve çöz'e tıklayın.

Kudu Hata Ayıklama Konsolunu Kullanma

App Service, hataları ayıklamak, dosyaları keşfetmek, karşıya yüklemek ve ortamınız hakkında bilgi almak için JSON uç noktaları için kullanabileceğiniz bir hata ayıklama konsoluyla birlikte gelir. Bu, uygulamanız için Kudu Konsolu veya SCM Panosu olarak adlandırılır.

Https:// Uyguladınız.scm.azurewebsites.net/<> bağlantısına giderek bu panoya erişebilirsiniz.

Kudu'nun sağladığı şeylerden bazıları şunlardır:

  • uygulamanız için ortam ayarları
  • günlük akışı
  • tanılama dökümü
  • PowerShell cmdlet'lerini ve temel DOS komutlarını çalıştırabileceğiniz hata ayıklama konsolu.

Kudu'nun bir diğer yararlı özelliği de uygulamanızın ilk şans özel durumları oluşturması durumunda bellek dökümleri oluşturmak için Kudu ve SysInternals aracı Procdump'u kullanabilmenizdir. Bu bellek dökümleri işlemin anlık görüntüleridir ve genellikle uygulamanızla ilgili daha karmaşık sorunları gidermenize yardımcı olabilir.

Kudu'daki özellikler hakkında daha fazla bilgi için bkz . Bilmeniz gereken Azure Web Siteleri çevrimiçi araçları.

3. Sorunu azaltma

Uygulamayı ölçeklendirme

Azure App Service'da daha yüksek performans ve aktarım hızı için uygulamanızı çalıştırdığınız ölçeği ayarlayabilirsiniz. Bir uygulamanın ölçeğini artırmak için iki ilgili eylem gerekir: App Service planınızı daha yüksek bir fiyatlandırma katmanına değiştirme ve daha yüksek fiyatlandırma katmanına geçtikten sonra belirli ayarları yapılandırma.

Ölçeklendirme hakkında daha fazla bilgi için bkz. Azure App Service'da uygulama ölçeklendirme.

Ayrıca, uygulamanızı birden fazla örnekte çalıştırmayı seçebilirsiniz. Bu size yalnızca daha fazla işleme özelliği sağlamakla kalmaz, aynı zamanda bir miktar hataya dayanıklılık da sağlar. İşlem bir örnekte kapanırsa, diğer örnek istekleri sunmaya devam eder.

Ölçeklendirmeyi El ile veya Otomatik olarak ayarlayabilirsiniz.

AutoHeal kullanma

AutoHeal, seçtiğiniz ayarlara (yapılandırma değişiklikleri, istekler, bellek tabanlı sınırlar veya isteği yürütmek için gereken süre gibi) bağlı olarak uygulamanızın çalışan işlemini geri dönüştürür. Çoğu zaman, bir sorundan kurtulmanın en hızlı yolu süreci geri dönüştürmektir. Uygulamayı doğrudan Azure Portalı'ndan her zaman yeniden başlatabilirsiniz ancak AutoHeal bunu sizin için otomatik olarak yapar. Tek yapmanız gereken, uygulamanız için kök web.config bazı tetikleyiciler eklemektir. Uygulamanız .NET olmasa bile bu ayarların aynı şekilde çalışacağını unutmayın.

Daha fazla bilgi için bkz. Azure Web Sitelerini Otomatik Düzeltme.

Uygulamayı yeniden başlatma

Bu genellikle tek seferlik sorunlardan kurtulmanın en kolay yoludur. Azure Portalı'nda, uygulamanızın dikey penceresinde uygulamanızı durdurma veya yeniden başlatma seçenekleriniz vardır.

502 hatalı ağ geçidi ve 503 hizmetinin kullanılamadığı HTTP hatalarını çözmek için uygulamayı yeniden başlatın

Uygulamanızı Azure PowerShell kullanarak da yönetebilirsiniz. Daha fazla bilgi için bkz. Azure PowerShell'i Azure Resource Manager ile kullanma.