Membuat halaman kesalahan kustom Application Gateway
Application Gateway memungkinkan Anda membuat halaman kesalahan yang dikustomisasi alih-alih menampilkan halaman default. Anda dapat menggunakan branding dan tata letak untuk kesalahan yang terkait dengan kode respons yang berbeda. Beberapa skenario untuk mengatur halaman kesalahan kustom adalah
- Memperlihatkan halaman pemeliharaan atau status untuk kode respons Gateway Buruk 502. Ini berguna ketika gateway aplikasi Anda tidak memiliki server backend untuk merutekan lalu lintas selama pemeliharaan terjadwal atau masalah tak terduga dengan server kumpulan backend.
- Menampilkan halaman akses tidak sah yang dikustomisasi untuk kode respons terlarang 403 yang terjadi saat WAF berada dalam mode pencegahan dan memblokir lalu lintas berbahaya.
- Menampilkan halaman bermerk perusahaan dengan detail kontak jika terjadi masalah.
Kode respons yang didukung
Halaman kesalahan kustom didukung untuk kode respons berikut:
Kode respons | Deskripsi |
---|---|
400 | Permintaan Buruk |
403 | Terlarang |
405 | Metode tidak diizinkan |
408 | Waktu permintaan habis |
500 | Kesalahan Server Internal |
502 | Gateway buruk |
503 | Layanan tidak tersedia |
504 | Waktu Tunggu Gateway Habis |
Catatan
- API versi 2022-09-01 atau yang lebih baru harus digunakan untuk mengonfigurasi halaman kesalahan untuk semua kode respons yang tersedia.
- Kode respons 404 (Halaman tidak ditemukan) saat ini tidak didukung.
- Halaman kesalahan kustom ditampilkan untuk kode respons yang dihasilkan oleh Application Gateway. Jika kesalahan berasal dari server backend, kesalahan tersebut diteruskan tanpa dimodifikasi ke klien.
Tingkat konfigurasi
Halaman kesalahan kustom dapat ditentukan pada tingkat Global atau Listener:
- Tingkat global - Halaman kesalahan yang ditetapkan di tingkat global diterapkan ke semua pendengar gateway aplikasi tersebut. Konfigurasinya melalui portal Azure saat ini tidak didukung.
- Tingkat pendengar - Halaman kesalahan pada tingkat pendengar memberi Anda kontrol terperinci untuk mengatur halaman kesalahan untuk aplikasi yang dilayani oleh pendengar tersebut.
Catatan
Saat menggunakan kombinasi halaman kesalahan tingkat Global dan Listener untuk gateway, Anda harus secara eksplisit menyebutkan URL untuk semua kode respons yang diinginkan untuk pendengar tersebut. Konfigurasi khusus pendengar mengambil alih semua konfigurasi global sebelumnya yang berlaku untuk pendengar tersebut.
Persyaratan
Untuk membuat halaman kesalahan kustom, Anda harus
- ketahui kode respons yang diperlukan halaman kesalahan kustom.
- mengetahui lokasi jarak jauh (URL) yang sesuai untuk halaman HTML. Ini harus berupa file yang dapat diakses publik.
- pastikan halaman kesalahan dapat diakses secara publik dan mengembalikan respons 200.
- pastikan halaman kesalahan harus dalam jenis ekstensi *.htm atau *.html.
- pastikan ukuran halaman kurang dari 1 MB.
- pastikan pengaturan akses jaringan diatur ke "diaktifkan dari semua jaringan" saat menggunakan akun penyimpanan Azure Blob.
Anda dapat mereferensikan gambar/CSS internal atau eksternal untuk file HTML ini. Untuk sumber daya yang dirujuk secara eksternal, gunakan URL absolut yang dapat diakses publik. Ketahui ukuran file HTML saat menggunakan gambar sebaris yang dikodekan base64, JavaScript, atau CSS.
Catatan
- Dalam ekosistem Azure, Anda harus menggunakan akun penyimpanan Azure Blob atau Komputer Virtual untuk menghosting halaman kesalahan. Perhatikan bahwa penyimpanan Blob harus dapat diakses langsung karena akun penyimpanan yang dihadapkan oleh layanan Azure CDN saat ini tidak didukung.
- Anda juga dapat memilih untuk menghosting halaman kesalahan di lokasi jarak jauh mana pun.
- Tautan relatif tidak didukung.
Cara kerjanya?
Setelah Anda menentukan halaman kesalahan di konfigurasi gateway aplikasi, gateway Anda memverifikasi konektivitas ke halaman HTML melalui internet. Kemudian mengunduh file di cache lokalnya.
Saat klien menghadapi kesalahan, gateway aplikasi Anda mengembalikan kode respons dan halaman HTML tersebut. Sumber daya yang direferensikan secara eksternal (seperti gambar, JavaScript, dan file CSS) diambil langsung oleh klien.
Gateway aplikasi Anda tidak secara berkala memeriksa lokasi file sumber untuk mengambil versi baru. Anda dapat melakukan pembaruan konfigurasi apa pun di gateway untuk memperbarui cache file secara manual. Misalnya, mengubah URL kesalahan dari halaman 1 ke halaman 2 lalu kembali ke halaman 1, atau setelah menambahkan pendengar baru.
Konfigurasi portal
Langkah-langkah untuk mengonfigurasi halaman kesalahan kustom khusus listener:
Navigasi ke Application Gateway di portal dan pilih sumber daya yang diperlukan.
Pilih Listener dan navigasi ke listener tertentu yang ingin Anda tentukan halaman kesalahannya.
Di bawah bagian Halaman kesalahan kustom, tentukan URL yang dapat diakses publik untuk kode status yang diperlukan.
Pilih Simpan.
Konfigurasi Azure PowerShell
Anda dapat menggunakan Azure PowerShell untuk mengonfigurasi halaman kesalahan kustom. Misalnya, halaman kesalahan kustom global:
$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
Atau halaman kesalahan tingkat pendengar:
$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
Untuk informasi selengkapnya, lihat Add-AzApplicationGatewayCustomError dan Add-AzApplicationGatewayHttpListenerCustomError.
Langkah berikutnya
Untuk informasi tentang diagnostik Application Gateway, lihat Kesehatan backend, log diagnostik, dan metrik untuk Application Gateway.