Bagaimana permintaan dicocokkan dengan konfigurasi rute

Rute di Azure Front Door menentukan bagaimana lalu lintas ditangani ketika permintaan masuk tiba di tepi Azure Front Door. Melalui pengaturan rute, asosiasi didefinisikan antara domain dan grup asal. Dengan menggunakan fitur lanjutan seperti Pola untuk Mencocokkan dan Seperangkat aturan, Anda dapat memiliki kontrol terperinci atas lalu lintas ke sumber daya backend Anda.

Catatan

Saat Anda menggunakan seperangkat aturan Front Door, Anda dapat mengonfigurasi aturan untuk mengambil alih grup asal untuk permintaan. Grup asal yang ditetapkan oleh seperangkat aturan mengambil alih proses perutean yang dijelaskan dalam artikel ini.

Penting

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

Ketika permintaan tiba di tepi Azure Front Door (klasik), salah satu hal pertama yang dilakukan Front Door adalah menentukan cara merutekan permintaan yang cocok ke sumber daya backend dan kemudian mengambil tindakan yang ditentukan dalam konfigurasi perutean. Dokumen berikut menjelaskan bagaimana Front Door menentukan konfigurasi rute mana yang akan digunakan saat memproses permintaan.

Struktur konfigurasi rute Front Door

Aturan perutean Front Door terdiri dari dua bagian utama, "sisi kiri" dan "sisi kanan". Front Door cocok dengan permintaan masuk ke sisi kiri rute sementara sisi kanan menentukan bagaimana permintaan diproses.

Kecocokan masuk (sisi kiri)

Properti berikut menentukan apakah permintaan masuk cocok dengan aturan perutean (atau sisi kiri):

  • Protokol HTTP - HTTP atau HTTPS
  • Domain - Misalnya: www.foo.com, *.bar.com
  • Jalur - Misalnya: /*, /users/*, /file.gif

Properti ini diperluas secara internal sehingga setiap kombinasi Protokol/Domain/Jalur adalah kumpulan kecocokan potensial.

Keputusan perutean (sisi kanan)

Keputusan tentang cara memproses permintaan tergantung pada apakah penembolokan diaktifkan untuk rute. Jika respons yang di-cache tidak tersedia, maka permintaan diteruskan ke asal yang sesuai.

Pencocokan rute

Bagian ini berfokus pada bagaimana Front Door cocok dengan aturan perutean. Konsep dasarnya adalah bahwa Front Door selalu cocok dengan permintaan yang paling spesifik hanya melihat "sisi kiri". Front Door pertama kali cocok berdasarkan protokol, lalu domain, dan terakhir jalur.

Pencocokan host frontend

Azure Front Door menggunakan logika berikut untuk mencocokkan host frontend:

  1. Tentukan apakah ada rute dengan kecocokan yang tepat pada host frontend.
  2. Jika tidak ada kecocokan host frontend yang tepat, permintaan akan ditolak dan kesalahan 400: Permintaan Buruk akan dikirim.

Tabel berikut menunjukkan tiga aturan perutean yang berbeda dengan host dan jalur frontend:

Aturan perutean Host frontend Jalur
A www.contoso.com /*
B www.contoso.com /pengguna/*
C www.fabrikam.com, foo.adventure-works.com /*, /gambar/*

Tabel berikut ini memperlihatkan hasil yang cocok untuk aturan perutean di atas:

Host frontend masuk Aturan perutean yang cocok
www.contoso.com A, B
www.fabrikam.com C
images.fabrikam.com Kesalahan 400: Permintaan Buruk
foo.adventure-works.com C
contoso.com Kesalahan 400: Permintaan Buruk
www.adventure-works.com Kesalahan 400: Permintaan Buruk
www.northwindtraders.com Kesalahan 400: Permintaan Buruk

Pencocokan jalur

Setelah Front Door menentukan host frontend dan filter tertentu untuk kemungkinan aturan perutean, Front Door kemudian memilih aturan perutean berdasarkan jalur permintaan. Logika serupa dengan host frontend digunakan untuk mencocokkan jalur permintaan:

  1. Tentukan apakah ada aturan perutean dengan kecocokan yang tepat dengan jalur permintaan.
  2. Jika tidak ada jalur pencocokan yang tepat, maka Front Door mencari aturan perutean dengan jalur wildcard yang cocok.
  3. Jika tidak ada aturan perutean yang ditemukan dengan jalur yang cocok, permintaan akan ditolak dan kesalahan 400: Permintaan Buruk diatur dikirim.

Catatan

Karakter * kartubebas hanya valid untuk jalur yang tidak memiliki karakter lain setelahnya. Selain itu, karakter * wildcard harus didahului oleh garis miring /. Jalur tanpa kartubebas dianggap sebagai jalur pencocokan persis. Jalur yang berakhiran garis miring / juga merupakan jalur pencocokan yang tepat. Pastikan jalur Anda mengikuti aturan ini untuk menghindari kesalahan apa pun.

Catatan

  • Jalur apa pun tanpa kartubebas dianggap sebagai jalur pencocokan yang tepat. Jika jalur berakhiran /, ini dianggap sama persis.
  • Pola untuk mencocokkan jalur bersifat tidak peka huruf besar/kecil, yang berarti jalur dengan penulisan huruf besar/kecil yang berbeda diperlakukan sebagai duplikat. Misalnya, Anda memiliki host yang sama menggunakan protokol yang sama dengan jalur /FOO dan /foo. Jalur ini dianggap duplikat yang tidak diperbolehkan dalam Pola untuk mencocokkan pengaturan.

Tabel berikut adalah daftar aturan perutean, host frontend, dan kombinasi jalur:

Aturan perutean Host frontend Jalur
A www.contoso.com /
B www.contoso.com /*
C www.contoso.com /ab
D www.contoso.com /abc
E www.contoso.com /abc/
F www.contoso.com /abc/*
G www.contoso.com /abc/def
H www.contoso.com /path/

Tabel berikut menunjukkan aturan perutean mana yang dicocokkan dengan permintaan masuk saat tiba di tepi Front Door:

Permintaan Masuk Rute yang Cocok
www.contoso.com/ A
www.contoso.com/a B
www.contoso.com/ab C
www.contoso.com/abc D
www.contoso.com/abzzz B
www.contoso.com/abc/ E
www.contoso.com/abc/d F
www.contoso.com/abc/def G
www.contoso.com/abc/defzzz F
www.contoso.com/abc/def/ghi F
www.contoso.com/path B
www.contoso.com/path/ H
www.contoso.com/path/zzz B

Peringatan

Jika tidak ada aturan perutean untuk host frontend pencocokan tepat dengan Jalur rute penampung-semua (/*), maka tidak akan ada kecocokan dengan aturan perutean apa pun.

Konfigurasi contoh:

Rute Host Jalur
A profile.contoso.com /api/*

Tabel yang cocok:

Permintaan masuk Rute yang Cocok
profile.domain.com/other Tidak ada. Kesalahan 400: Permintaan Buruk

Keputusan perutean

Setelah Front Door cocok dengan satu aturan perutean, maka perlu memilih cara memproses permintaan. Jika Azure Front Door Anda memiliki respons cache yang tersedia untuk aturan perutean yang cocok, permintaan akan dilayani kembali ke klien.

Terakhir, Azure Front Door mengevaluasi apakah Anda memiliki seperangkat aturan yang dikonfigurasi atau tidak untuk aturan perutean yang cocok. Jika tidak ada seperangkat aturan yang ditentukan, permintaan akan diteruskan ke grup asal tanpa perubahan apa pun. Jika tidak, seperangkat aturan akan diproses dalam urutan yang dikonfigurasi. Seperangkat aturan dapat mengambil alih rute dengan memaksa lalu lintas ke grup asal tertentu.

Jika Front Door (klasik) tidak memiliki respons cache untuk aturan perutean yang cocok, Front Door (klasik) mengevaluasi apakah penulisan ulang URL dikonfigurasi untuk aturan perutean yang cocok. Jika tidak ada jalur penerusan kustom, permintaan akan diteruskan ke backend yang sesuai di kumpulan backend yang dikonfigurasi tanpa perubahan. Jika jalur penerusan kustom telah ditentukan, jalur permintaan akan diperbarui seperti yang didefinisikan dalam jalur penerusan kustom lalu diteruskan ke backend.

Langkah berikutnya