Mengirim tanggapan khusus untuk Block tindakan - AWS WAF, AWS Firewall Manager, dan AWS Shield Advanced

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Mengirim tanggapan khusus untuk Block tindakan

Bagian ini menjelaskan cara menginstruksikan AWS WAF untuk mengirim HTTP respons kustom kembali ke klien untuk tindakan aturan atau tindakan ACL default web yang disetel ke Block. Untuk informasi selengkapnya tentang tindakan aturan, lihatMenggunakan tindakan aturan di AWS WAF. Untuk informasi selengkapnya tentang ACL tindakan web default, lihatMengatur tindakan ACL default web di AWS WAF.

Saat Anda menentukan penanganan respons kustom untuk Block action, Anda menentukan kode status, header, dan badan respons. Untuk daftar kode status yang dapat Anda gunakan AWS WAF, lihat bagian berikut,Kode status yang didukung untuk tanggapan khusus.

Kasus penggunaan

Kasus penggunaan untuk tanggapan khusus meliputi yang berikut:

  • Mengirim kode status non-default kembali ke klien.

  • Mengirim header respons khusus kembali ke klien. Anda dapat menentukan nama header apa pun kecuali untukcontent-type.

  • Mengirim halaman kesalahan statis kembali ke klien.

  • Mengarahkan klien ke yang berbeda. URL Untuk melakukan ini, Anda menentukan salah satu kode status 3xx pengalihan, seperti 301 (Moved Permanently) atau302 (Found), dan kemudian tentukan header baru bernama Location dengan yang baruURL.

Interaksi dengan tanggapan yang Anda tentukan dalam sumber daya yang dilindungi

Tanggapan kustom yang Anda tentukan untuk AWS WAF Block tindakan lebih diutamakan daripada spesifikasi respons apa pun yang Anda tentukan di sumber daya yang dilindungi.

Layanan host untuk AWS sumber daya yang Anda lindungi AWS WAF mungkin mengizinkan penanganan respons khusus untuk permintaan web. Contohnya meliputi hal berikut:

  • Dengan Amazon CloudFront, Anda dapat menyesuaikan halaman kesalahan berdasarkan kode status. Untuk selengkapnya, lihat Menghasilkan respons kesalahan khusus di Panduan CloudFront Pengembang Amazon.

  • Dengan Amazon API Gateway Anda dapat menentukan respons dan kode status untuk gateway Anda. Untuk selengkapnya, lihat Respons API Gateway di Gateway di Panduan Pengembang Amazon API Gateway.

Anda tidak dapat menggabungkan AWS WAF pengaturan respons kustom dengan pengaturan respons khusus di dilindungi AWS sumber daya. Spesifikasi respons untuk setiap permintaan web individu berasal dari AWS WAF atau sepenuhnya dari sumber daya yang dilindungi.

Untuk permintaan web yang AWS WAF blok, berikut ini menunjukkan urutan prioritas.

  1. AWS WAF respon kustom - Jika AWS WAF Block action memiliki respons kustom yang diaktifkan, sumber daya yang dilindungi mengirimkan respons kustom yang dikonfigurasi kembali ke klien. Pengaturan respons apa pun yang mungkin telah Anda tetapkan di sumber daya yang dilindungi itu sendiri tidak berpengaruh.

  2. Respons khusus yang ditentukan dalam sumber daya yang dilindungi — Jika tidak, jika sumber daya yang dilindungi memiliki pengaturan respons khusus yang ditentukan, sumber daya yang dilindungi menggunakan pengaturan tersebut untuk merespons klien.

  3. AWS WAF default Block respons - Jika tidak, sumber daya yang dilindungi merespons klien dengan AWS WAF default Block respon403 (Forbidden).

Untuk permintaan web yang AWS WAF memungkinkan, konfigurasi sumber daya yang dilindungi menentukan respons yang dikirimkannya kembali ke klien. Anda tidak dapat mengonfigurasi setelan respons di AWS WAF untuk permintaan yang diizinkan. Satu-satunya penyesuaian yang dapat Anda konfigurasikan AWS WAF untuk permintaan yang diizinkan adalah penyisipan header khusus ke dalam permintaan asli, sebelum meneruskan permintaan ke sumber daya yang dilindungi. Opsi ini dijelaskan di bagian sebelumnya,. Memasukkan header permintaan khusus untuk tindakan non-pemblokiran

Header respon kustom

Anda dapat menentukan nama header apa pun kecuali untukcontent-type.

Badan respons khusus

Anda menentukan isi respons kustom dalam konteks web ACL atau grup aturan tempat Anda ingin menggunakannya. Setelah mendefinisikan badan respons kustom, Anda dapat menggunakannya dengan referensi di tempat lain di web ACL atau grup aturan tempat Anda membuatnya. Dalam individu Block pengaturan tindakan, Anda mereferensikan badan kustom yang ingin Anda gunakan dan Anda menentukan kode status dan header respons kustom.

Saat membuat respons khusus di konsol, Anda dapat memilih dari badan respons yang telah ditentukan atau Anda dapat membuat badan baru. Di luar konsol, Anda menentukan badan respons kustom di tingkat web ACL atau grup aturan, lalu mereferensikannya dari setelan tindakan dalam web ACL atau grup aturan. Ini ditunjukkan pada contoh JSON di bagian berikut.

Contoh respon kustom

Contoh berikut mencantumkan JSON untuk grup aturan dengan pengaturan respons kustom. Badan respons kustom didefinisikan untuk seluruh grup aturan, kemudian direferensikan dengan kunci dalam tindakan aturan.

{ "ARN": "test_rulegroup_arn", "Capacity": 1, "CustomResponseBodies": { "CustomResponseBodyKey1": { "Content": "This is a plain text response body.", "ContentType": "TEXT_PLAIN" } }, "Description": "This is a test rule group.", "Id": "test_rulegroup_id", "Name": "TestRuleGroup", "Rules": [ { "Action": { "Block": { "CustomResponse": { "CustomResponseBodyKey": "CustomResponseBodyKey1", "ResponseCode": 404, "ResponseHeaders": [ { "Name": "BlockActionHeader1Name", "Value": "BlockActionHeader1Value" } ] } } }, "Name": "GeoMatchRule", "Priority": 1, "Statement": { "GeoMatchStatement": { "CountryCodes": [ "US" ] } }, "VisibilityConfig": { "CloudWatchMetricsEnabled": true, "MetricName": "TestRuleGroupReferenceMetric", "SampledRequestsEnabled": true } } ], "VisibilityConfig": { "CloudWatchMetricsEnabled": true, "MetricName": "TestRuleGroupMetric", "SampledRequestsEnabled": true } }