Bagikan melalui


Apa itu seperangkat aturan di Azure Front Door?

Kumpulan aturan adalah mesin aturan khusus yang mengelompokkan kombinasi aturan ke dalam satu kumpulan. Anda dapat mengaitkan seperangkat aturan dengan beberapa rute. Satu set aturan memungkinkan Anda menyesuaikan cara permintaan diproses dan ditangani di Azure Front Door edge.

Skenario umum yang didukung

  • Menerapkan header keamanan untuk mencegah kerentanan berbasis browser seperti HTTP Strict-Transport-Security (HSTS), X-XSS-Protection, Content-Security-Policy, X-Frame-Options, dan header Access-Control-Allow-Origin untuk skenario Cross-Origin Resource Sharing (CORS). Atribut berbasis keamanan juga dapat didefinisikan dengan cookie.

  • Rutekan permintaan ke versi seluler atau desktop aplikasi Anda berdasarkan jenis perangkat klien.

  • Gunakan fungsi pengalihan untuk mengembalikan pengalihan 301, 302, 307, dan 308 ke klien, untuk mengarahkan mereka ke nama host, jalur, string kueri, atau protokol baru.

  • Ubah konfigurasi cache rute Anda secara dinamis berdasarkan permintaan masuk.

  • Mengubah jalur URL permintaan dan meneruskan permintaan ke asal yang sesuai di grup asal yang telah dikonfigurasi.

  • Tambahkan, ubah, atau hapus header permintaan/respons untuk menyembunyikan informasi sensitif atau mengambil informasi penting melalui header.

  • Mendukung variabel server untuk mengubah header permintaan, header respons, atau jalur penulisan ulang URL/string kueri secara dinamis. Misalnya, saat halaman baru dimuat atau saat formulir diposting. Variabel server saat ini hanya didukung dalam aksi aturan saja.

  • Isi atau ubah header respons berdasarkan nilai header permintaan (misalnya, menambahkan FQDN yang sama di Access-Control-Allow-Origin sebagai header Asal permintaan).

  • Ganti nama header respons yang dihasilkan oleh penyedia cloud menjadi header khusus merek dengan menambahkan header respons baru dan menghapus yang asli.

  • Mengalihkan ke host tujuan menggunakan nilai yang diambil dari pasangan kunci/nilai pada string kueri yang diterima dalam format {http_req_arg_key1}.

  • Manfaatkan pengambilan segmen jalur URL di pengalihan dan penulisan ulang URL, misalnya ekstrak tenantID dari jalur /abc/<tenantID>/<otherID>/index.html URL masuk Anda dan sisipkan di tempat lain di jalur URL dengan menggunakan "{url_path:seg1}" di tujuan.

Arsitektur

Seperangkat aturan menangani permintaan di tepi Front Door. Ketika permintaan tiba di titik akhir Front Door Anda, WAF (Web Application Firewall) diproses terlebih dahulu, diikuti oleh pengaturan yang dikonfigurasi dalam rute. Pengaturan tersebut mencakup seperangkat aturan yang terkait dengan rute. Seperangkat aturan diproses sesuai urutan kemunculannya di bawah konfigurasi perutean. Aturan dalam seperangkat aturan juga diproses sesuai urutan munculnya aturan. Agar semua tindakan dalam setiap aturan dapat dijalankan, semua kondisi kecocokan dalam aturan tersebut harus dipenuhi. Jika permintaan tidak cocok dengan kondisi apa pun dalam konfigurasi seperangkat aturan Anda, maka hanya pengaturan rute default yang diterapkan.

Jika opsi Berhenti mengevaluasi aturan yang tersisa dipilih, maka seperangkat aturan yang tersisa yang terkait dengan rute tidak dijalankan.

Contoh

Dalam diagram berikut, kebijakan WAF diproses terlebih dahulu. Kemudian konfigurasi seperangkat aturan menambahkan header respons. Header mengubah maksimum umur kontrol cache jika kondisi kecocokan terpenuhi.

Diagram memperlihatkan bagaimana seperangkat aturan dapat mengubah header respons untuk permintaan melalui titik akhir Front Door.

Terminologi

Dengan seperangkat aturan Front Door, Anda dapat membuat kombinasi konfigurasi apa pun, masing-masing terdiri dari serangkaian aturan. Berikut ini adalah beberapa terminologi bermanfaat yang Anda temui saat mengonfigurasi seperangkat aturan Anda.

  • Seperangkat aturan: Set aturan yang terkait dengan satu atau beberapa rute.

  • Aturan kumpulan aturan: Aturan yang terdiri dari hingga 10 kondisi kecocokan dan 5 tindakan. Aturan bersifat lokal untuk seperangkat aturan dan tidak dapat diekspor untuk digunakan di seluruh seperangkat aturan lainnya. Anda dapat membuat aturan yang sama dalam seperangkat aturan yang berbeda.

  • Kondisi kecocokan: Ada banyak kondisi kecocokan yang dapat Anda konfigurasi untuk mengurai permintaan masuk. Satu aturan dapat berisi hingga 10 kondisi kecocokan. Kondisi kecocokan dievaluasi dengan operator AND. Ekspresi reguler didukung dalam kondisi. Daftar lengkap kondisi kecocokan dapat ditemukan di Kondisi Kecocokan Seperangkat Aturan.

  • Tindakan: Tindakan menentukan cara Front Door menangani permintaan masuk berdasarkan kondisi yang cocok. Anda dapat mengubah perilaku cache, mengubah header permintaan, header respons, menetapkan penulisan ulang URL, dan pengalihan URL. Variabel server didukung dengan action. Aturan dapat berisi hingga lima tindakan. Daftar lengkap tindakan dapat ditemukan di Tindakan kumpulan aturan.

Dukungan templat ARM

Seperangkat aturan dapat dikonfigurasi menggunakan templat Azure Resource Manager. Misalnya, lihat Front Door Standard/Premium dengan seperangkat aturan. Anda dapat menyesuaikan perilaku dengan menggunakan cuplikan JSON atau Bicep yang disertakan dalam contoh dokumentasi untuk mencocokkan kondisi dan tindakan.

Batasan

Untuk informasi tentang batas kuota, lihat Front Door batas, kuota, dan batasan.

Langkah berikutnya

Penting

Azure Front Door (klasik) akan dihentikan pada 31 Maret 2027. Untuk menghindari gangguan layanan apa pun, penting bahwa Anda memigrasikan profil Azure Front Door (klasik) Anda ke tingkat Azure Front Door Standard atau Premium pada Maret 2027. Untuk informasi selengkapnya, lihat Pensiun Azure Front Door (Classic).

Konfigurasi mesin aturan memungkinkan Anda menyesuaikan cara permintaan HTTP ditangani di ujung Front Door dan memberikan perilaku terkontrol pada aplikasi web Anda. Rules Engine untuk Azure Front Door (klasik) memiliki beberapa fitur utama, antara lain:

  • Memberlakukan HTTPS untuk memastikan semua pengguna akhir berinteraksi dengan konten Anda melalui koneksi yang aman.
  • Menerapkan header keamanan untuk mencegah kerentanan berbasis browser seperti HTTP Strict-Transport-Security (HSTS), X-XSS-Protection, Content-Security-Policy, X-Frame-Options, dan header Access-Control-Allow-Origin untuk skenario Cross-Origin Resource Sharing (CORS). Atribut berbasis keamanan juga dapat didefinisikan dengan cookie.
  • Rutekan permintaan ke versi seluler atau desktop aplikasi Anda berdasarkan pola konten header permintaan, cookie, atau string kueri.
  • Gunakan kemampuan pengalihan untuk mengembalikan pengalihan 301, 302, 307, dan 308 ke klien untuk mengarahkan ke nama host, jalur, atau protokol baru.
  • Ubah konfigurasi cache rute Anda secara dinamis berdasarkan permintaan masuk.
  • Tulis ulang jalur URL permintaan tersebut dan teruskan permintaan tersebut ke backend yang sesuai di pool backend yang telah dikonfigurasi.

Arsitektur

Mesin pengaturan menangani permintaan di tepi jaringan. Saat permintaan memasuki endpoint Azure Front Door (klasik) Anda, WAF diproses terlebih dahulu, diikuti oleh konfigurasi Rules engine yang terkait dengan domain frontend Anda. Jika konfigurasi mesin aturan telah diproses, itu berarti kondisi kecocokan ditemukan. Agar semua tindakan di setiap aturan dapat diproses, semua syarat kecocokan dalam aturan tersebut harus terpenuhi. Jika permintaan tidak cocok dengan kondisi apa pun dalam konfigurasi mesin Aturan Anda, konfigurasi perutean default akan diproses.

Misalnya, dalam diagram berikut, mesin Aturan dikonfigurasi untuk menambahkan header respons. Header mengubah usia maksimum kontrol cache jika file permintaan memiliki ekstensi .jpg.

Diagram memperlihatkan mesin Aturan yang mengubah usia maksimum cache di header respons jika file yang diminta memiliki ekstensi .jpg.

Dalam contoh kedua ini, Anda melihat Mesin aturan dikonfigurasi untuk mengalihkan pengguna ke versi seluler situs web jika perangkat yang meminta berjenis Mobile.

Diagram memperlihatkan mesin aturan mengalihkan pengguna ke versi seluler situs web jika perangkat yang meminta berjenis seluler.

Dalam kedua contoh ini, ketika tidak ada kondisi kecocokan yang terpenuhi, aturan perutean yang telah ditentukan akan diproses.

Terminologi

Di Azure Front Door (klasik) Anda dapat membuat konfigurasi mesin Aturan dari banyak kombinasi, masing-masing terdiri dari serangkaian aturan. Berikut ini menguraikan beberapa terminologi bermanfaat yang Anda temui saat mengonfigurasi Mesin Aturan Anda.

  • Konfigurasi mesin aturan: Sekumpulan aturan yang diterapkan pada satu rute. Setiap konfigurasi dibatasi hingga 25 aturan. Anda dapat membuat hingga 10 konfigurasi.
  • Aturan mesin pemroses: Aturan yang terdiri dari hingga 10 kondisi kecocokan dan 5 tindakan.
  • Kondisi Kecocokan: Ada banyak kondisi kecocokan yang dapat digunakan untuk memproses permintaan masuk Anda. Satu aturan dapat berisi hingga 10 kondisi kecocokan. Kondisi kecocokan dievaluasi dengan operator AND. Untuk daftar lengkap kondisi kecocokan, lihat Kondisi Kecocokan Aturan.
  • Tindakan: Tindakan menentukan apa yang terjadi pada permintaan masuk Anda - tindakan header permintaan/respons, penerusan, pengalihan, dan penulisan ulang semuanya tersedia hari ini. Aturan dapat berisi hingga lima tindakan; namun, aturan mungkin hanya berisi satu penggantian konfigurasi rute. Untuk daftar lengkap tindakan, lihat Tindakan aturan.

Langkah berikutnya