Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Özet
Bu makalede Azure Application Gateway'in neden belirli HTTP yanıt kodlarını döndürdüğü açıklanmaktadır. Bir hata HTTP yanıt kodunun kök nedenini belirlemenize yardımcı olmak için yaygın nedenler ve sorun giderme adımları sağlar. Application Gateway, arka uç hedefine bağlantı başlatsa da başlatmasa da istemci isteğine HTTP yanıt kodları döndürebilir.
Uyarı
Application Gateway herhangi bir HTTP yanıtı döndürmeden önce istemci bağlantısı başarısız olursa, hata büyük olasılıkla Aktarım Katmanı Güvenliği (TLS) el sıkışma hatasıdır. Yaygın nedenler ARASıNDA TLS sürüm uyuşmazlıkları (örneğin, istemci TLS 1.0 veya 1.1 kullanırken ağ geçidi TLS 1.2 veya üzeri gerektirir) ve desteklenmeyen şifreleme paketleri bulunur. Azure Application Gateway, 31 Ağustos 2025'den itibaren TLS 1.0 ve 1.1 desteğini sona erdirir. Daha fazla bilgi için bkz. Application Gateway TLS ilkesine genel bakış ve TLS ilke sürümlerini ve şifreleme paketlerini yapılandırma.
3XX yanıt kodları (yeniden yönlendirme)
Application Gateway, bir istemci isteği, yeniden yönlendirmeleri yapılandırılmış bir uygulama ağ geçidi kuralıyla eşleştiğinde 300-399 yanıt döndürür. Bir kuralı olduğu gibi veya yol eşleme kuralı aracılığıyla yeniden yönlendirmeleri yapılandırabilirsiniz. Yeniden yönlendirmeler hakkında daha fazla bilgi için bkz . Application Gateway yeniden yönlendirmesine genel bakış.
301 Kalıcı yeniden yönlendirme
Kalıcı değere sahip bir yeniden yönlendirme kuralı belirttiğinizde Application Gateway HTTP 301 yanıtları döndürür.
302 Bulundu
Application Gateway, Bulundu değeriyle bir yeniden yönlendirme kuralı belirttiğinizde HTTP 302 yanıtları döndürür.
303 Başka bir yere yönlendir
Application Gateway, Diğere Bakın değeriyle bir yeniden yönlendirme kuralı belirttiğinizde HTTP 303 yanıtları döndürür.
307 Geçici yeniden yönlendirme
Application Gateway, Geçici değeriyle bir yeniden yönlendirme kuralı belirttiğinizde HTTP 307 yanıtları verir.
4XX yanıt kodları (istemci hatası)
400-499 yanıt kodları, istemcinin başlattığı bir sorunu gösterir. Bu sorunlar istemcinin istekleri başlatmasından eşleşmeyen bir ana bilgisayar adına, istek zaman aşımına, kimliği doğrulanmamış isteklere, kötü amaçlı isteklere ve daha fazlasına kadar değişebilir.
Application Gateway, 4xx/5xx durum kodlarının dağıtımını yakalayan ölçümler toplar ve yanıt koduyla birlikte URI, istemci IP adresi gibi bilgileri de yakalayan bir günlüğe kaydetme mekanizmasına sahiptir. Ölçümler ve günlüğe kaydetme, daha fazla sorun gidermeye olanak tanır. İstemciler, istemci cihazı ile Application Gateway arasındaki diğer proxy'lerden de 4xx yanıt alabilir. Örneğin, CDN (Content Delivery Network) ve diğer kimlik doğrulama sağlayıcıları. Daha fazla bilgi için aşağıdaki makalelere bakın.
400 – Hatalı istek
Http 400 yanıt kodlarını genellikle aşağıdaki durumlarda görürsünüz:
- HTTP veya HTTPS dinleyicisi olan bir uygulama ağ geçidine HTTP veya HTTPS olmayan trafik başlatırsınız.
- Yeniden yönlendirme yapılandırılmadan HTTPS ile bir dinleyiciye HTTP trafiği başlatırsınız.
- Karşılıklı kimlik doğrulamayı yapılandırırsınız, ancak Application Gateway düzgün bir şekilde anlaşma yapamaz.
- İstek RFC ile uyumlu değil.
İsteğin RFC ile uyumsuz olmasının bazı yaygın nedenleri şunlardır:
| Kategori | Örnekler |
|---|---|
| İstek satırında geçersiz Sunucu | İki nokta üst üste içeren konak (example.com:8090:8080) |
| Eksik Host Başlığı | İsteğin Host Üst Bilgisi yok |
| Hatalı veya geçersiz biçimlendirilmiş karakter varlığı | Rezerve karakterler &,!. Geçici çözüm, bunu yüzde olarak kodlamaktır. Örneğin: %& |
| Geçersiz HTTP sürümü | /content.css HTTP/0.3 |
| Üst bilgi alanı adı ve URI ASCII olmayan Karakter içeriyor | GET /«úü!»¿.doc HTTP/1.1 |
| POST isteği için İçerik Uzunluğu üst bilgisi eksik | Açıklayıcı Nitelikte |
| Geçersiz HTTP Yöntemi | GET123 / HTTP/1.1index.html |
| Yinelenen Üst Bilgiler | Yetkilendirme:<base64 kodlanmış içerik>, Yetkilendirme: <base64 kodlanmış içerik> |
| İçerik Uzunluğu'nda geçersiz değer | İçerik Uzunluğu: abc,İçerik Uzunluğu: -10 |
Karşılıklı kimlik doğrulamasını yapılandırdığınızda, çeşitli senaryolar istemcide http 400 yanıtı döndürülmesine yol açabilir, örneğin:
- Karşılıklı kimlik doğrulamasını etkinleştirirsiniz ancak istemci sertifikası sunulmadı.
- Ayırt Edici Ad (DN) doğrulamasını etkinleştirirsiniz ve istemci sertifikasının DN'i belirtilen sertifika zincirinin DN'sine uymuyor.
- İstemci sertifika zinciri, tanımlanan SSL İlkesi'nde yapılandırılan sertifika zinciriyle eşleşmiyor.
- İstemci sertifikasının süresi doldu.
- Çevrimiçi Sertifika Durum Protokolü (OCSP) İstemci İptali denetimini etkinleştirirsiniz ve sertifika iptal edilir.
- OCSP İstemci İptali denetimini etkinleştirirsiniz, ancak Application Gateway OCSP yanıtlayıcıyla iletişim kuramaz.
- OCSP İstemci İptal kontrolünü etkinleştirirsiniz, ancak OCSP yanıtlayıcısı sertifikada sağlanmaz.
Karşılıklı kimlik doğrulaması sorunlarını giderme hakkında daha fazla bilgi için bkz . Hata kodu sorunlarını giderme.
401 – Yetkisiz
Application Gateway, istemci kaynağa erişim yetkisine sahip değilse istemciye bir HTTP 401 yetkisiz yanıtı döndürür. 401'in döndürülecek olmasının çeşitli nedenleri vardır. Aşağıdaki liste olası düzeltmelerle ilgili birkaç neden sağlar.
- İstemcinin erişimi varsa tarayıcı önbelleği eski olabilir. Tarayıcı önbelleğini temizleyin ve uygulamaya yeniden erişmeyi deneyin.
Arka uç havuzunu NTLM kimlik doğrulamasıyla yapılandırdığınızda Application Gateway, AppGW yoklama isteğine HTTP 401 yetkisiz yanıtı döndürebilir. Bu senaryoda Application Gateway arka ucu iyi durumda olarak işaretler. Aşağıdaki yöntemlerden birini kullanarak bu sorunu çözün:
- Arka uç havuzunda anonim erişime izin verin.
- Probeyi, isteği NTLM gerektirmeyen başka bir "sahte" siteye gönderecek şekilde yapılandırın.
- Bu çözüm, uygulama ağ geçidinin arkasındaki gerçek sitenin etkin olup olmadığını belirtmediğinden önerilmez.
- Uygulama ağ geçidini, yoklamalar için geçerli olan 401 yanıtlarına izin verecek şekilde yapılandırın: Yoklama eşleştirme koşulları.
403 – Yasak
WAF (Web Uygulaması Güvenlik Duvarı) sku'larını kullandığınızda ve ÖNLEME modunda WAF'yi yapılandırdığınızda Application Gateway HTTP 403 Yasak'ı sunar. Etkinleştirilmiş WAF kural kümeleri veya özel reddetme WAF kuralları gelen isteğin özellikleriyle eşleşiyorsa, Application Gateway istemciye 403 yasak yanıtı sunar.
WAF yanlış pozitifler (WAF kuralları tarafından engellenen meşru istekler) sorunlarını gidermek için:
-
WAF tanılama günlüklerini etkinleştirin ve isteği engelleyen kuralı belirlemek için alanı gözden geçirin
ruleId_s. - Trafiği engellemeden eşleşen kuralları log tutmak amacıyla WAF'yi geçici olarak Algılama moduna geçirin. Bu yaklaşım, kural değişiklikleri yapmadan önce hatalı pozitif sonuçları onaylamanıza yardımcı olur. Daha fazla bilgi için bkz . WAF ilke ayarları.
- Hatalı pozitifleri tetikleyen belirli istek öznitelikleri (başlıklar, çerezler veya parametreler) için WAF dışlamaları oluşturun.
- Yönetilen bir kural tutarlı olarak hatalı pozitif sonuçlara neden oluyorsa ve dışlamalar yeterli değilse, WAF ilkesinde bireysel kuralı devre dışı bırakın.
Ayrıntılı yönergeler için bkz. Application Gateway için WAF sorunlarını giderme ve WAF en iyi yöntemleri.
İstemcilerin 403 yanıt almasının diğer nedenleri şunlardır:
- h2c protokolü yükseltme denemeleri: İstemciler h2c protokolunu (HTTP/2 Cleartext) kullanarak HTTP/1.1'den HTTP/2.0'a yükseltmeye çalıştığında Application Gateway 403 hataları döndürür. Application Gateway yalnızca TLS (HTTPS dinleyicileri) üzerinden HTTP/2'i destekler. HTTP dinleyicileri üzerinden h2c protokolü yükseltmelerini desteklemez. Bu davranış WAF modundan bağımsız olarak oluşur. İstemciler, HTTPS üzerinden yerel HTTP/2 bağlantıları kullanmalı veya yükseltme denemeleri olmadan HTTP/1.1'de kalmalıdır.
- App Service'i arka uç olarak kullanıyorsunuz ve bunu yalnızca Application Gateway'den erişime izin verecek şekilde yapılandırdıysanız. Bu yapılandırma, App Services tarafından 403 hatası döndürebilir. Bu hata genellikle Application Gateway'in IP adresine işaret etmek yerine doğrudan App Services'e işaret eden yeniden yönlendirmelerden veya href bağlantılarından kaynaklanır.
- Bir depolama blob'una erişiyorsanız ve Application Gateway ve depolama uç noktası farklı bölgelerdeyse, Application Gateway'in genel IP adresi izin verilenler listesinde değilse 403 hatası alırsınız. Bkz. İnternet IP aralığından erişim verme.
404 - Sayfa bulunamadı
Yapılandırılmış Çok siteli dinleyicilerin hiçbirine karşılık gelen bir ana bilgisayar adıyla Application Gateway'e (V2 SKU) istekte bulunduğunuzda ve Temel dinleyici bulunmadığında http 404 yanıtı oluşturulur. Daha fazla bilgi edinmek için bkz. dinleyici türleri.
408 – İstek zaman aşımı
Application Gateway'in ön uç dinleyicisine gönderilen istemci istekleri 60 saniye içinde yanıt vermediğinde HTTP 408 yanıtını gözlemleyebilirsiniz. Şirket içi ağlar ile Azure arasındaki trafik sıkışıklığından dolayı, sanal aygıt trafiği incelediğinde veya istemci kendisi bunaldığında bu hatayı gözlemleyebilirsiniz.
413 – İstek varlığı çok büyük
Application Gateway'de Azure Web Uygulaması Güvenlik Duvarı'nı kullanırken http 413 yanıtını gözlemleyebilirsiniz ve istemci isteği boyutu istek gövdesi boyut üst sınırını aşıyor. Maksimum istek gövdesi boyutu alanı, tüm dosya yüklemelerini hariç tutarak genel istek boyutu sınırını denetler. İstek gövdesi boyutu için varsayılan değer 128 KB'tır. Daha fazla bilgi için bkz. Web Application Firewall istek boyutu sınırları.
499 - İstemci bağlantıyı kapattı
Sunucu yanıt vermeyi bitirmeden önce v2 sku kullanarak uygulama ağ geçitlerine gönderdiğiniz bir istemci isteği kapatılırsa HTTP 499 yanıtı sunulur. Bu hatayı iki senaryoda gözlemleyebilirsiniz. İlk senaryo, istemciye büyük bir yanıt döndürülür ve sunucu büyük bir yanıt göndermeyi bitirmeden önce istemci uygulamayı kapatmış veya yenilemiş olabilir. İkinci senaryo, istemci tarafında zaman aşımının düşük olduğu ve sunucudan yanıt almak için yeterince uzun beklemediği senaryodur. Bu durumda istemcide zaman aşımını artırmak daha iyidir. v1 sku kullanan uygulama ağ geçitlerinde, sunucu da yanıt vermeyi bitirmeden önce istemcinin bağlantıyı kapatması için bir HTTP 0 yanıt kodu oluşturulabilir.
5XX yanıt kodları (sunucu hatası)
500-599 yanıt kodları, isteği gerçekleştirirken uygulama ağ geçidi veya arka uç sunucusuyla ilgili bir sorun olduğunu gösterir.
500 – İç sunucu hatası
Azure Application Gateway 500 yanıt kodu döndürmemelidir. Bu sorun hizmetteki dahili bir hata olduğundan bu kodu görürseniz bir destek isteği açın. Destek olayı açma hakkında bilgi için bkz. Azure support isteği oluşturma.
502 – Hatalı ağ geçidi
HTTP 502 hatalarının çeşitli kök nedenleri olabilir, örneğin:
- NSG (Ağ güvenlik grubu), UDR (kullanıcı tanımlı yol) veya özel DNS arka uç havuzu üyelerine erişimi engelliyor.
- Arka uç VM'leri veya sanal makine ölçek kümelerinin örnekleri varsayılan durum yoklamasına yanıt vermiyor.
- Özel sağlık yoklamaları geçersiz veya hatalı yapılandırılmış.
- Azure Application Gateway backend havuzu yapılandırılmamış veya boş.
- Sanal makine ölçek kümesindeki VM'lerin veya örneklerin hiçbiri iyi durumda değil.
- Kullanıcı istekleriyle ilgili veri isteği zaman aşımı veya bağlantı sorunları - Azure Application Gateway V1 SKU, arka uç yanıt süresi Arka Uç Ayarı'nda yapılandırılan zaman aşımı değerini aşarsa HTTP 502 hataları gönderir.
502 hatalarının oluştuğu senaryolar ve bunların nasıl giderileceği hakkında bilgi için bkz . Hatalı Ağ Geçidi hatalarını giderme.
503 – Hizmet kullanılamıyor
HTTP 503 yanıtları, Application Gateway'in veya arka uç sunucusunun isteği geçici olarak işleyemediğini gösterir. Yaygın nedenler şunlardır:
- Sistem durumu yoklamaları tarafından belirlenen tüm arka uç havuzu üyeleri iyi durumda değildir ve istekleri işlemek için kullanılabilir iyi durumda bir sunucu yoktur.
- Arka uç sunucusu aşırı yüklenmiş veya bakım altında ve 503 doğrudan Application Gateway'e döndürüyor.
- Application Gateway V2 otomatik ölçeklendirmesi devam ediyor ve yeni örnekler henüz trafiğe hizmet etmeye hazır değil.
- Application Gateway'de veya arka uç sunucusunda bağlantı sınırlarına ulaşılır.
503 hatalarını gidermek için:
- Azure portalında arka uç sağlığını kontrol ederek arka uç havuzu üyelerinin durumunu doğrulayın.
- Yoklamaların sağlıklı arka uçları yanlış bir şekilde sağlıksız olarak işaretlemediğinden emin olmak için sağlık yoklaması yapılandırmasını gözden geçirin. Daha fazla bilgi için bkz. Sistem durumu yoklamalarına genel bakış.
- Application Gateway'i atlayarak arka uç uygulamasının doğrudan erişerek çalıştığını doğrulayın.
- Azure İzleyici'de bağlantı sayısı ve kapasite birimi kullanımı için Application Gateway ölçümlerini denetleyin.
- V2 SKU'ları için, trafik artışları sırasında yeterli minimum örnek sayısını sağlamak için otomatik ölçeklendirme ayarlarını gözden geçirin.
Daha fazla bilgi için bkz. Arka uç sistem durumu sorunlarını giderme.
504 – Ağ geçidi zaman aşımı
Arka uç yanıt süresi Arka Uç Ayarı'nda yapılandırdığınız zaman aşımı değerini aşarsa Azure Application Gateway V2 SKU'su HTTP 504 hataları gönderir.
IIS (Internet Information Services web sunucusu)
Arka uç sunucunuz IIS ise, zaman aşımı değerini ayarlamak için bkz. Web Siteleri için Varsayılan Sınırlar . Ayrıntılar için özniteliğine connectionTimeout bakın. IIS'de bağlantı zaman aşımının arka uç ayarında ayarlanan zaman aşımıyla eşleştiğinden veya aşmadığından emin olun.
Nginx
Arka uç sunucusu Nginx veya Nginx Giriş Denetleyicisi ise ve yukarı akış sunucuları varsa, nginx:proxy_read_timeout değerinin arka uç ayarında ayarlanan zaman aşımı süresiyle uyumlu olduğundan veya bu süreyi aşmadığından emin olun.
Sorun giderme senaryoları
Erişim günlüklerinde "ERRORINFO_INVALID_HEADER" hatası
Sorun: Arka uç yanıt kodu (serverStatus) 200 olsa bile Erişim günlüğü istek için "ERRORINFO_INVALID_HEADER" hatası gösteriyor. Diğer durumlarda arka uç sunucusu 500 döndürür.
Neden: İstemci CR LF karakterleri içeren bir başlık gönderir.
Çözüm: CR LF karakterlerini SP (boşluk) ile değiştirin ve isteği Application Gateway'e yeniden gönderin.