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:
- Tentukan apakah ada rute dengan kecocokan yang tepat pada host frontend.
- Jika tidak ada kecocokan host frontend yang tepat, permintaan akan ditolak dan kesalahan 404: 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 404: Permintaan Buruk |
foo.adventure-works.com | C |
contoso.com | Kesalahan 404: Permintaan Buruk |
www.adventure-works.com | Kesalahan 404: Permintaan Buruk |
www.northwindtraders.com | Kesalahan 404: 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:
- Tentukan apakah ada aturan perutean dengan kecocokan yang tepat dengan jalur permintaan.
- Jika tidak ada jalur pencocokan yang tepat, maka Front Door mencari aturan perutean dengan jalur wildcard yang cocok.
- Jika tidak ada aturan perutean yang ditemukan dengan jalur yang cocok, permintaan akan ditolak dan kesalahan 404: Permintaan Buruk akan 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 yang sama persis tanpa jalur rute catch-all (/*), maka tidak ada aturan perutean yang akan dicocokkan.
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 404: 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
- Pelajari cara membuat Azure Front Door.
- Pelajari tentang arsitektur perutean Azure Front Door.
- Pelajari cara membuat Azure Front Door (klasik).
- Pelajari tentang arsitektur perutean Azure Front Door.