Application Gateway'de HTTP yanıt kodları
Bu makalede, Azure Uygulaması Lication Gateway'in belirli HTTP yanıt kodlarını döndürme nedenleri verilmektedir. Http Yanıt kodunun hatanın kök nedenini belirlemenize yardımcı olmak için yaygın nedenler ve sorun giderme adımları sağlanır. Http yanıt kodları, bir arka uç hedefine bağlantı başlatılıp başlatılmadığına bakılmaksızın istemci isteğine döndürülebilir.
3XX yanıt kodları (yeniden yönlendirme)
İstemci isteği, yeniden yönlendirmeleri yapılandırılmış bir uygulama ağ geçidi kuralıyla eşleştiğinde 300-399 yanıtları sunulur. Yeniden yönlendirmeler bir kural üzerinde olduğu gibi veya yol eşleme kuralı aracılığıyla yapılandırılabilir. 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ğerle bir yeniden yönlendirme kuralı belirtildiğinde HTTP 301 yanıtları sunulur.
302 Bulundu
Http 302 yanıtları, Bulunan değeriyle bir yeniden yönlendirme kuralı belirtildiğinde sunulur.
303 Bkz. Diğer
Http 302 yanıtları, Diğere Bak değeriyle bir yeniden yönlendirme kuralı belirtildiğinde sunulur.
307 Geçici Yeniden Yönlendirme
Geçici değeriyle bir yeniden yönlendirme kuralı belirtildiğinde HTTP 307 yanıtları sunulur.
4XX yanıt kodları (istemci hatası)
400-499 yanıt kodları, istemciden başlatılan 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çümleri toplar ve yanıt koduyla URI istemci IP adresi gibi bilgileri 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ı ve Application Gateway arasındaki diğer proxy'lerden de 4xx yanıt alabilir. Örneğin, CDN ve diğer kimlik doğrulama sağlayıcıları. Daha fazla bilgi için aşağıdaki makalelere bakın.
Application Gateway V2 SKUTanılama günlükleri tarafından desteklenen ölçümler
400 – Hatalı İstek
HTTP 400 yanıt kodları genellikle aşağıdaki durumlarda gözlenir:
- HTTP veya HTTPS dinleyicisi olan bir uygulama ağ geçidine HTTP / HTTPS olmayan trafik başlatıldı.
- Yeniden yönlendirme yapılandırılmadan bir HTTPS dinleyicisine HTTP trafiği başlatıldı.
- Karşılıklı kimlik doğrulaması yapılandırıldı ve düzgün bir şekilde anlaşma yapılamıyor.
- İ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 Konak | İki iki nokta üst üste içeren konak (example.com:8090:8080) |
Eksik Ana Bilgisayar Üst Bilgisi | İsteğin Ana Bilgisayar Üst Bilgisi yok |
Hatalı biçimlendirilmiş veya geçersiz karakter varlığı | Ayrılmış karakterler ,!. Geçici çözüm, bunu yüzde olarak kodlar. Örneğin: %& |
Geçersiz HTTP sürümü | /content.css HTTP/0.3 alma |
Ü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 | Kendi Kendine Açıklayıcı |
Geçersiz HTTP Yöntemi | GET123 /index.html HTTP/1.1 |
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,content-length: -10 |
Karşılıklı kimlik doğrulamasının yapılandırıldığı durumlar için, çeşitli senaryolar istemciye bir HTTP 400 yanıtı döndürülmesine neden olabilir, örneğin:
- İstemci sertifikası sunulmaz, ancak karşılıklı kimlik doğrulaması etkinleştirilir.
- DN doğrulaması etkinleştirilir ve istemci sertifikasının DN'si 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.
- OCSP İstemci İptal Denetimi etkinleştirilir ve sertifika iptal edilir.
- OCSP İstemci İptal denetimi etkinleştirildi, ancak bağlantı kurulamıyor.
- OCSP İstemci İptal denetimi etkinleştirildi, ancak OCSP yanıtlayıcısı sertifikada sağlanmadı.
Karşılıklı kimlik doğrulaması sorunlarını giderme hakkında daha fazla bilgi için bkz . Hata kodu sorunlarını giderme.
401 – Yetkisiz
İstemci kaynağa erişim yetkisine sahip değilse istemciye bir HTTP 401 yetkisiz yanıtı döndürülür. 401'in döndürülecek olmasının çeşitli nedenleri vardır. Olası düzeltmelerle ilgili birkaç neden aşağıdadır.
- İstemcinin erişimi varsa tarayıcı önbelleği eski olabilir. Tarayıcı önbelleğini temizleyin ve uygulamaya yeniden erişmeyi deneyin.
Arka uç havuzu NTLM kimlik doğrulamasıyla yapılandırılmışsa, AppGW yoklama isteğine HTTP 401 yetkisiz yanıtı döndürülebilir. Bu senaryoda arka uç iyi durumda olarak işaretlenir. Bu sorunu çözmenin birkaç yolu vardır:
- Arka uç havuzunda anonim erişime izin verin.
- İsteği NTLM gerektirmeyen başka bir "sahte" siteye gönderecek şekilde isteği yapılandırın.
- Önerilmez, çünkü uygulama ağ geçidinin arkasındaki gerçek sitenin etkin olup olmadığı bize gösterilmez.
- 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
HTTP 403 Yasak, müşteriler WAF sku'larını kullanırken ve WAF Önleme modunda yapılandırıldığında sunulur. Etkin WAF kural kümeleri veya özel reddetme WAF kuralları gelen isteğin özellikleriyle eşleşiyorsa istemciye 403 yasak yanıtı sunulur.
İstemcilerin 403 yanıt almasının diğer nedenleri şunlardır:
- App Service'i arka uç olarak kullanıyorsunuz ve yalnızca Application Gateway'den erişime izin verecek şekilde yapılandırıldı. Bu, App Services tarafından 403 hatası döndürebilir. Bunun nedeni genellikle Application Gateway'in IP adresine işaret etmek yerine doğrudan App Services'e işaret eden yeniden yönlendirmeler/href bağlantılarıdır.
- Bir depolama bloguna erişiyorsanız ve Application Gateway ve depolama uç noktası farklı bölgedeyse Application Gateway'in genel IP adresi izin ver listelenmiyorsa 403 hatası döndürülür. Bkz. İnternet IP aralığından erişim verme.
404 - Sayfa bulunamadı
Aşağıdaki gibi bir uygulama ağ geçidine istek gönderilirse HTTP 404 yanıtı döndürülebilir:
- v2 sku kullanma.
- Çok siteli dinleyicilerde tanımlanmış bir ana bilgisayar adı eşleşmesi olmadan.
- Temel dinleyiciyle yapılandırılmadı.
408 – İstek Zaman Aşımı
Uygulama ağ geçidinin ön uç dinleyicisine yönelik istemci istekleri 60 saniye içinde yanıt vermediğinde HTTP 408 yanıtı gözlemlenebilir. Bu hata, sanal gereç trafiği incelediğinde veya istemcinin kendisi bunaldığında şirket içi ağlar ile Azure arasındaki trafik tıkanıklığı nedeniyle gözlemlenebilir.
413 – İstek Varlığı Çok Büyük
Application Gateway'de Azure Web Uygulaması Güvenlik Duvarı kullanıldığında http 413 yanıtı gözlemlenebilir 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 Uygulaması Güvenlik Duvarı istek boyutu sınırları.
499 - İstemci bağlantıyı kapattı
V2 SKU'sunu kullanan uygulama ağ geçitlerine gönderilmiş bir istemci isteği sunucu yanıtlamayı tamamlamadan kapatılırsa HTTP 499 yanıtı gösterilir. Bu hata 2 senaryoda gözlemlenebilir. İ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ındaki zaman aşımının düşük olduğu ve sunucudan yanıt almak için yeterince 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çidinde veya arka uç sunucusunda bir sorun oluştuğuna işaret eder.
500 – İç Sunucu Hatası
Azure Application Gateway, 500 yanıt kodları göstermemelidir. 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 desteği isteği oluşturma.
502 – Hatalı Ağ Geçidi
HTTP 502 hatalarının çeşitli kök nedenleri olabilir, örneğin:
- NSG, UDR 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 durum yoklamaları geçersiz veya hatalı şekilde yapılandırılmış.
- Azure Uygulaması Lication Gateway'in arka uç havuzu yapılandırılmamış veya boş değildir.
- Sanal makine ölçek kümesindeki VM'lerin veya örneklerin hiçbiri iyi durumda değil.
- Kullanıcı istekleriyle ilgili istek zaman aşımı veya bağlantı sorunları-Azure uygulaması Ağ Geçidi V1 SKU'su, 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önderdi.
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.
504 – Ağ geçidi zaman aşımı
Arka uç yanıt süresi Arka Uç Ayarı'nda yapılandırılan zaman aşımı değerini aşarsa Azure application Gateway V2 SKU'su HTTP 504 hataları gönderdi.
IIS
Arka uç sunucunuz IIS ise, zaman aşımı değerini ayarlamak için Web Siteleri İçin Varsayılan Sınırlar bölümüne bakın. 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 onu aşmadığından emin olun.
nginx
Arka uç sunucusu nginx veya nginx giriş denetleyicisi ise ve yukarı akış sunucuları varsa, eşleşmelerin nginx:proxy_read_timeout
değerinin olduğundan veya arka uç ayarında ayarlanan zaman aşımıyla aşılmadığından emin olun.
Sonraki adımlar
Bu makaledeki bilgiler sorunu çözmeye yardımcı olmazsa bir destek bileti gönderin.