Load Balancer Aplikasi eksternal global memungkinkan Anda menyesuaikan respons error Anda sendiri saat kode status error HTTP (4xx
dan 5xx
) dihasilkan. Anda dapat menyesuaikan respons error untuk error yang dihasilkan oleh load balancer dan backend instance. Anda juga dapat menyesuaikan respons error untuk kode respons error yang dibuat saat traffic ditolak oleh Google Cloud Armor.
Berikut adalah contoh halaman error kustom tempat Anda dapat mengonfigurasi respons error untuk aplikasi konsumen yang ditampilkan kepada pihak eksternal dengan branding dan logo perusahaan Anda sendiri, link ke halaman terkait, dan pesan yang disesuaikan.
Dengan menggunakan kebijakan respons error kustom, Anda dapat mengonfigurasi respons error yang berbeda untuk kode status error HTTP, domain URL, jalur URL, serta kolom header dan parameter permintaan HTTP yang berbeda.
Menampilkan respons error kustom akan membantu Anda meningkatkan pengalaman pengguna dengan menawarkan manfaat berikut:
- Memberikan pengalaman {i>branding<i} yang konsisten
- Memberikan informasi kontekstual dan relevan untuk meningkatkan kegunaan dan pengalaman pengguna
- Mengurangi dampak negatif periode nonaktif dan error sisi klien
- Meningkatkan keamanan jaringan
Jika Anda tidak mengonfigurasi kebijakan respons error kustom, objek error tanpa merek umum akan ditayangkan, seperti ditunjukkan dalam gambar 2.
Kasus penggunaan
Fitur respons error kustom menangani banyak kasus penggunaan. Bagian ini menyediakan beberapa contoh tingkat tinggi.
Menentukan halaman pemeliharaan sendiri
Anda dapat menampilkan halaman error yang berisi informasi dan branding perusahaan saat backend Anda tidak responsif atau dalam mode pemeliharaan. Anda dapat membuat halaman error kontekstual yang berisi informasi bermanfaat, seperti nomor telepon pusat kontak atau kapan pengguna harus mencoba lagi mengakses situs. Anda memiliki opsi untuk menyesuaikan halaman error berdasarkan kecocokan kondisi error seperti nama host dan kode error HTTP.
Menentukan halaman error default Anda sendiri
Anda dapat menyiapkan respons error yang disesuaikan berdasarkan kode error tertentu. Misalnya, Anda dapat menyiapkan halaman error dengan pesan "Login atau daftar"
untuk kode respons HTTP 401 (Unauthorized)
. Anda juga dapat menyiapkan halaman error default yang berisi branding perusahaan dan informasi relevan lainnya untuk semua seri 4xx
dan kode error HTTP seri 5xx
.
Menentukan respons error untuk aturan keamanan
Anda dapat menampilkan halaman error khusus untuk kode respons error yang dibuat saat traffic ditolak oleh kebijakan keamanan Google Cloud Armor. Anda harus memastikan bahwa halaman error dikonfigurasi dengan kode error HTTP seri 4xx
atau seri 5xx
yang sama dengan yang Anda masukkan di aturan keamanan Google Cloud Armor.
Mengurangi dampak periode nonaktif
Jika berlaku, Anda dapat mengonfigurasi respons error untuk menampilkan kode status HTTP
200 (OK)
dan menayangkan halaman web statis sehingga pengguna melihat informasi yang lebih kontekstual dan
membantu, bukan halaman error selama periode nonaktif.
Menyesuaikan respons error berdasarkan jenis permintaan klien
Anda dapat menyesuaikan respons error berdasarkan header dan parameter permintaan HTTP—misalnya, header Content-Type
. Saat mengarahkan permintaan asli ke layanan error, perutean dapat memperhitungkan header Content-Type
untuk menayangkan halaman web (untuk permintaan dari browser) atau JSON (untuk permintaan dari API web).
Cara kerja kebijakan respons error khusus
Kebijakan respons error kustom dapat ditentukan di tiga level resource peta URL—level load balancer, tingkat domain URL, dan tingkat jalur URL.
Level load balancer. Kebijakan ini diterapkan ke semua traffic yang diterima oleh load balancer.
Tingkat domain URL. Kebijakan ini diterapkan ke traffic yang diarahkan ke nama domain atau nama host tertentu, misalnya,
www.example.com
.Tingkat jalur URL. Kebijakan ini diterapkan ke traffic yang diarahkan ke jalur tertentu, misalnya
www.example.com/images/*
. Pada tingkat ini, Anda juga dapat menggunakan kondisi pencocokan lanjutan dengan header dan parameter permintaan HTTP—misalnya,Content-Type:application/json
.
Tabel berikut menampilkan kebijakan respons error kustom yang diterapkan pada level load balancer, tingkat domain URL, dan tingkat jalur URL peta URL.
Tingkat kebijakan | Kolom API |
---|---|
Load balancer | urlMaps.defaultCustomErrorResponsePolicy |
Domain URL | pathMatchers[].defaultCustomErrorResponsePolicy |
Jalur URL |
|
Jika Anda mengonfigurasi kebijakan respons error kustom di beberapa level resource peta URL, objek error yang ditentukan oleh kebijakan error kustom di level terendah peta URL akan ditampilkan. Kebijakan respons error yang ditentukan pada tingkat peta URL yang lebih rendah akan lebih spesifik dan lebih diutamakan daripada kebijakan respons error yang ditentukan untuk level peta URL yang lebih tinggi.
Misalnya, kebijakan respons error kustom di level load balancer diterapkan hanya jika kebijakan cocok dengan kondisi error, dan tidak ada kebijakan yang cocok yang ditentukan untuk kode error di tingkat yang lebih rendah—domain URL atau jalur URL. Demikian pula, kebijakan respons error khusus di tingkat domain URL diterapkan hanya jika kebijakan cocok dengan kondisi error, dan tidak ada kebijakan yang cocok yang ditentukan untuk kode error di tingkat yang lebih rendah—jalur URL. Untuk mempelajari konfigurasi ini lebih lanjut, lihat Mengonfigurasi kebijakan respons error kustom terperinci untuk berbagai domain, jalur, dan kode respons error.
Menentukan beberapa aturan respons error agar cocok dengan kode respons error HTTP
Di tingkat mana pun dalam kebijakan respons error kustom, Anda dapat menentukan beberapa aturan respons error. Aturan ini dapat mencocokkan respons error HTTP dengan kode error tertentu atau berbagai kode error. Jika Anda menentukan aturan untuk rentang kode error serta aturan untuk kode error tertentu, aturan dengan kode error tertentu akan diprioritaskan.
Misalnya, asumsikan Anda mengonfigurasi aturan untuk kode error 401 (Unauthorized)
dan aturan lain untuk semua kode error seri 4xx
. Jika layanan backend
menampilkan kode error 401
, aturan yang
cocok dengan error 401
akan diterapkan. Namun, jika layanan backend menampilkan kode error 403
, aturan untuk error 4xx
akan berlaku.
Mengganti kode respons HTTP
Dengan aturan respons error, Anda dapat mengubah kode respons HTTP yang ditampilkan oleh load balancer. Ini pada dasarnya berarti Anda dapat mengganti kode
respons yang dihasilkan oleh server dan menentukan kode respons akhir untuk
permintaan tersebut. Anda dapat menentukan untuk menampilkan kode respons HTTP, termasuk 200 (OK)
, deret 4xx
, atau rangkaian 5xx
kode respons, atau kode respons tiga digit lainnya. Untuk mempelajari lebih lanjut cara mengganti kode respons,
lihat Mengonfigurasi halaman error untuk kode error tertentu bagi host
tertentu.
Batasan
Fitur ini hanya didukung dengan Load Balancer Aplikasi eksternal global. Mode regional dan klasik tidak didukung.
Jika objek error kustom tidak dapat diambil dari layanan error—misalnya, jika jalur konten salah dikonfigurasi—objek error tanpa merek umum akan ditayangkan.
Kebijakan respons error kustom tidak memantau atau memfilter objek yang ditampilkan oleh layanan error untuk risiko keamanan. Oleh karena itu, Anda harus rajin menghilangkan kerentanan dan membatasi dampak potensi paparan.
Untuk mencegah kesalahan konfigurasi saat menggunakan bucket Cloud Storage, tinjau praktik terbaik umum untuk Cloud Storage.
Harga
Penggunaan respons error kustom tidak dikenai biaya tambahan. Harga standar untuk Google Cloud load balancing berlaku. Untuk informasi selengkapnya, lihat Harga.