Ringkasan respons error kustom

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.

Halaman respons error HTTP kustom.
Halaman respons error HTTP kustom

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.

Halaman respons error HTTP umum.
Halaman respons error HTTP umum

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

pathMatchers[].pathRules[].customErrorResponsePolicy

pathMatchers[].routeRules[].customErrorResponsePolicy

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.

Langkah selanjutnya