Memperkenalkan pengalaman konsol baru untuk AWS WAF
Anda sekarang dapat menggunakan pengalaman yang diperbarui untuk mengakses AWS WAF fungsionalitas di mana saja di konsol. Untuk detail selengkapnya, lihat Bekerja dengan pengalaman konsol yang diperbarui.
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 respons HTTP kustom kembali ke klien untuk tindakan aturan atau paket perlindungan atau tindakan default ACL web yang disetel ke. Block Untuk informasi selengkapnya tentang tindakan aturan, lihatMenggunakan tindakan aturan di AWS WAF. Untuk informasi selengkapnya tentang paket perlindungan default atau tindakan ACL web, lihatMengatur paket perlindungan atau tindakan default ACL web di AWS WAF.
Saat menentukan penanganan respons khusus untuk suatu Block tindakan, 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 URL yang berbeda. Untuk melakukan ini, Anda menentukan salah satu kode status
3xx
pengalihan, seperti301 (Moved Permanently)
atau302 (Found)
, dan kemudian tentukan header baru bernamaLocation
dengan URL baru.
Interaksi dengan tanggapan yang Anda tentukan dalam sumber daya yang dilindungi
Respons khusus 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 Gateway di API Gateway di Panduan Pengembang Amazon API Gateway.
Anda tidak dapat menggabungkan setelan respons AWS WAF kustom dengan setelan respons khusus di AWS sumber daya yang dilindungi. Spesifikasi respons untuk setiap permintaan web individu berasal dari AWS WAF atau sepenuhnya dari sumber daya yang dilindungi.
Untuk permintaan web yang AWS WAF memblokir, berikut ini menunjukkan urutan prioritas.
-
AWS WAF respons kustom - Jika AWS WAF Block tindakan mengaktifkan respons kustom, sumber daya yang dilindungi akan 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 Blockrespons default - Jika tidak, sumber daya yang dilindungi merespons klien dengan Block respons AWS WAF
403 (Forbidden)
default.
Untuk permintaan web yang AWS WAF memungkinkan, konfigurasi sumber daya yang dilindungi menentukan respons yang dikirim kembali ke klien. Anda tidak dapat mengonfigurasi pengaturan respons 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 paket perlindungan atau ACL web atau grup aturan tempat Anda ingin menggunakannya. Setelah menentukan badan respons kustom, Anda dapat menggunakannya dengan referensi di tempat lain di paket perlindungan atau ACL web atau grup aturan tempat Anda membuatnya. Dalam pengaturan Block tindakan individual, 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 paket perlindungan atau ACL web atau tingkat grup aturan, lalu mereferensikannya dari setelan tindakan dalam paket perlindungan atau ACL web atau grup aturan. Hal ini ditunjukkan dalam 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 } }