Application Gateway özel hata sayfaları oluşturma

Application Gateway, varsayılan hata sayfalarını görüntülemek yerine özelleştirilmiş hata sayfaları oluşturmanıza olanak tanır. Farklı yanıt kodlarıyla ilgili hatalar için markanızı ve düzeninizi kullanabilirsiniz. Özel hata sayfaları ayarlamak için bazı senaryolar şunlardır:

  • 502 Hatalı Ağ Geçidi yanıt kodu için bakım veya durum sayfası gösteriliyor. Bu, uygulama ağ geçidinizin zamanlanmış bakım sırasında trafiği yönlendirecek arka uç sunucusu olmadığında veya arka uç havuzu sunucularında öngörülemeyen bir sorun olduğunda kullanışlıdır.
  • WAF önleme modundayken oluşan ve kötü amaçlı trafiği engelleyen 403 Yasak yanıt kodu için özelleştirilmiş yetkisiz erişim sayfası gösteriliyor.
  • Bir sorun olması durumunda iletişim ayrıntılarını içeren şirket markalı bir sayfa gösteriliyor.

Desteklenen yanıt kodları

Özel hata sayfaları aşağıdaki yanıt kodları için desteklenir:

Yanıt kodu Açıklama
400 Hatalı istek (Önizlemede)
403 Yasak
405 Yönteme izin verilmiyor (Önizlemede)
408 İstek zaman aşımı (Önizlemede)
500 İç Sunucu Hatası (Önizlemede)
502 Hatalı ağ geçidi
503 Hizmet kullanılamıyor (Önizlemede)
504 Ağ geçidi zaman aşımı (Önizlemede)

Dekont

  • Api sürüm 2022-09-01 veya üzeri, yeni yanıt kodları için hata sayfalarını yapılandırmak için kullanılmalıdır (önizlemede).
  • Yanıt kodu 404 (Sayfa bulunamadı) şu anda desteklenmiyor.
  • Application Gateway tarafından oluşturulan yanıt kodları için özel hata sayfaları görüntülenir. Bir hata arka uç sunucusundan kaynaklanıyorsa, istemciye değiştirilmemiş olarak geçirilir.

Yapılandırma düzeyleri

Özel hata sayfaları Genel veya Dinleyici düzeyinde tanımlanabilir:

  • Genel düzey - Genel düzeyde ayarlanan hata sayfaları, bu uygulama ağ geçidinin tüm dinleyicilerine uygulanır. Azure portalı üzerinden yapılandırması şu anda desteklenmemektedir.
  • Dinleyici düzeyi - Dinleyici düzeyindeki hata sayfaları, bu dinleyici tarafından sunulan uygulamanın hata sayfalarını ayarlamak için ayrıntılı denetim sağlar.

Dekont

Bir ağ geçidi için Genel ve Dinleyici düzeyinde hata sayfalarının bir birleşimini kullanırken, bu dinleyici için istenen tüm yanıt kodlarının URL'lerinden açıkça bahsetmeniz gerekir. Dinleyiciye özgü bir yapılandırma, bu dinleyici için geçerli olan önceki tüm genel yapılandırmaları geçersiz kılar.

Gereksinimler

Özel hata sayfası oluşturmak için

  • özel hata sayfasının gerekli olduğu yanıt kodunu bilmeniz gerekir.
  • HTML sayfası için ilgili uzak konumu (URL) bilmek. Bu, herkese açık bir dosya olmalıdır.
  • hata sayfasının genel olarak erişilebilir olduğundan emin olun ve 200 yanıt döndür.
  • hata sayfasının *.htm veya *.html uzantı türünde olduğundan emin olun.
  • sayfa boyutunun 1 MB'tan küçük olduğundan emin olun.

Bu HTML dosyası için iç veya dış görüntülere/CSS'ye başvurabilirsiniz. Dışarıdan başvurulan kaynaklar için herkese açık olarak erişilebilen mutlak URL’Leri kullanın. Base64 ile kodlanmış satır içi görüntüler, JavaScript veya CSS kullanırken HTML dosya boyutuna dikkat edin.

Dekont

  • Azure ekosisteminde hata sayfasını barındırmak için bir Azure Blob depolama hesabı veya Sanal Makine kullanmanız gerekir. Azure CDN hizmetleri tarafından önlenen depolama hesapları şu anda desteklenmediğinden Blob depolamanın doğrudan erişilebilir olması gerektiğini unutmayın.
  • Hata sayfalarını herhangi bir uzak konumda barındırmayı da seçebilirsiniz.
  • Göreli bağlantılar desteklenmez.

Nasıl çalışıyor?

Uygulama ağ geçidinizin yapılandırmasında bir hata sayfası belirttikten sonra, ağ geçidiniz İnternet üzerinden HTML sayfasına bağlantıyı doğrular. Ardından dosyayı yerel önbelleğine indirir.

İstemci bir hatayla karşılaştığında, uygulama ağ geçidiniz bir yanıt kodu ve bu HTML sayfasını döndürür. Dışarıdan başvuruda bulunan tüm kaynaklar (görüntüler, JavaScript ve CSS dosyaları gibi) doğrudan istemci tarafından getirilir.

Uygulama ağ geçidiniz yeni bir sürüm getirmek için kaynak dosyanın konumunu düzenli aralıklarla denetlemez. Dosyanın önbelleğini el ile güncelleştirmek için ağ geçidinde herhangi bir yapılandırma güncelleştirmesi gerçekleştirebilirsiniz. Örneğin, hata URL'sini 1. sayfadan 2. sayfaya ve ardından 1. sayfaya geri döndürerek veya yeni bir dinleyici ekledikten sonra.

Portal yapılandırması

Dinleyiciye özgü özel hata sayfalarını yapılandırma adımları:

  1. Portalda Application Gateway'e gidin ve gerekli kaynağı seçin.

  2. Dinleyiciler'i seçin ve hata sayfası belirtmek istediğiniz belirli bir dinleyiciye gidin.

  3. Özel hata sayfaları bölümünde, gerekli durum kodları için genel olarak erişilebilir URL'ler belirtin.

  4. Kaydet'i seçin.

    Screenshot of Application Gateway custom error page.

Azure PowerShell yapılandırması

Özel bir hata sayfası yapılandırmak için Azure PowerShell'i kullanabilirsiniz. Örneğin, genel bir özel hata sayfası:

$appgw   = Get-AzApplicationGateway -Name <app-gateway-name> -ResourceGroupName <resource-group-name>

$updatedgateway = Add-AzApplicationGatewayCustomError -ApplicationGateway $appgw -StatusCode HttpStatus502 -CustomErrorPageUrl "http://<website-url>"

Set-AzApplicationGateway -ApplicationGateway $appgw

Veya dinleyici düzeyi hata sayfası:

$appgw   = Get-AzApplicationGateway -Name <app-gateway-name> -ResourceGroupName <resource-group-name>

$listener01 = Get-AzApplicationGatewayHttpListener -Name <listener-name> -ApplicationGateway $appgw

$updatedlistener = Add-AzApplicationGatewayHttpListenerCustomError -HttpListener $listener01 -StatusCode HttpStatus502 -CustomErrorPageUrl "http://<website-url>"

Set-AzApplicationGateway -ApplicationGateway $appgw

Daha fazla bilgi için bkz . Add-AzApplicationGatewayCustomError ve Add-AzApplicationGatewayHttpListenerCustomError.

Sonraki adımlar

Application Gateway tanılamaları hakkında bilgi için bkz . Application Gateway için arka uç durumu, tanılama günlükleri ve ölçümler.