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 untuk
content-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, seperti301 (Moved Permanently)
atau302 (Found)
, dan kemudian tentukan header baru bernamaLocation
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.
-
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.
-
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.
-
AWS WAF default Block respons - Jika tidak, sumber daya yang dilindungi merespons klien dengan AWS WAF default Block respon
403 (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 } }