Pelajari cara mengonfigurasi conditional origin fetch untuk mengarahkan lalu lintas ke server origin yang berbeda berdasarkan atribut permintaan.
Saat bisnis Anda memiliki beberapa modul layanan, seperti situs utama dan subsistem, Anda mungkin perlu mengambil konten dari server origin yang berbeda untuk path permintaan yang berbeda. Konfigurasi single-origin tradisional tidak dapat memenuhi kebutuhan ini untuk routing lalu lintas yang lebih granular.
Fitur conditional origin fetch di Edge Security Accelerator (ESA) memungkinkan Anda mengarahkan lalu lintas secara cerdas ke server origin yang tepat. Anda dapat membuat aturan berdasarkan atribut permintaan seperti URI permintaan, Host, dan Header. Fitur ini memberikan beberapa manfaat:
Dukungan arsitektur fleksibel: Deploy beberapa layanan backend di bawah nama domain yang sama.
Penguraian keterkaitan O&M: Deploy dan upgrade setiap modul bisnis secara independen tanpa memengaruhi modul lainnya.
Optimalisasi biaya: Hindari penyediaan nama domain terpisah atau instans ESA untuk layanan yang berbeda.
Mengonfigurasi conditional origin fetch memerlukan konfigurasi DNS record, yang merupakan bagian dari aturan origin fetch. Item konfigurasi ini hanya tersedia pada paket berbayar. Jika Anda menggunakan paket Entrance ESA, Anda harus Upgrade a plan.
Sebelum memulai
Nama domain yang dipercepat <your-accelerated-domain> telah ditambahkan ke ESA dan diaktifkan.
Anda memiliki setidaknya dua server origin yang siap dengan konten berbeda untuk path tertentu.
Paket ESA Anda mendukung conditional origin fetch (hanya paket berbayar).
Anda dapat mengakses Konsol ESA dengan izin yang sesuai (biasanya peran Administrator atau Operator).
Prosedur
Contoh ini menunjukkan cara mengonfigurasi conditional origin fetch dengan pengaturan berikut:
Server origin default: <default-origin-server>
Server origin kondisional: <conditional-origin-server>
Ketika URI permintaan dimulai dengan /test2/, konten diambil dari server origin kondisional.
Langkah 1: Siapkan server origin Anda
Di server origin kondisional (<conditional-origin-server>), buat file uji bernama /test2/1.txt.
Pastikan server origin default (<default-origin-server>) tidak memiliki path tersebut atau mengembalikan error 404 untuk path tersebut.
Langkah 2: Konfigurasi situs ESA
Di Konsol ESA, pilih Websites.
Di panel navigasi kiri, pilih .
Pastikan nama domain yang dipercepat dikonfigurasi sebagai berikut:
Record Type: CNAME
Hostname: Nama domain yang dipercepat Anda (<your-accelerated-domain>)
Record Value/Origin Server: Domain Name
Domain Name: Alamat server origin default (<default-origin-server>)

Conditional origin fetch memerlukan DNS record tambahan yang akan Anda referensikan dalam aturan origin fetch. Tambahkan DNS record untuk server origin kondisional (<conditional-origin-server>) sebagai berikut:
Record Type: CNAME
Hostname: Nama kustom, seperti <custom-dns-record-name>
Record Value/Origin Server: Domain Name
Domain Name: Alamat server origin kondisional (<conditional-origin-server>)

Propagasi DNS dapat memakan waktu beberapa menit hingga beberapa jam tergantung pada penyedia DNS Anda. Berikan waktu yang cukup agar perubahan tersebar sebelum melanjutkan ke langkah berikutnya.
Langkah 3: Tetapkan aturan
Di panel navigasi kiri, pilih .
Di halaman Origin Rules, klik Create Rule.
Tetapkan parameter berikut:
Rule Name: Masukkan nama aturan kustom, seperti test2-path-rule.
Filtered Requests: Tetapkan kondisi sesuai kebutuhan Anda, misalnya: (http.host eq "<your-accelerated-domain>" and starts_with(http.request.uri, "/test2/"))
Origin Host: Masukkan host server origin kondisional Anda (<conditional-origin-server>). Hanya nama domain yang didukung.
Origin Protocol and Port: Tetapkan protokol dan port sesuai konfigurasi server origin Anda, seperti HTTP 80 atau HTTPS 443.
DNS Record: Dari daftar drop-down, pilih DNS record untuk server origin kondisional yang telah Anda buat di Langkah 2.

Klik OK untuk membuat aturan.
Langkah 4: Verifikasi pengaturan
Uji berbagai path akses untuk memverifikasi bahwa conditional origin fetch berfungsi dengan benar:
Jalankan perintah uji berikut:
curl -I "https://esa.example.com/05.png?test" # Gunakan situs ESA AndaHeader respons harus menunjukkan bahwa konten respons berasal dari server origin default.

Jalankan perintah uji berikut:
curl -I "https://esa.example.com/test2/1.txt?test" # Gunakan situs ESA AndaHeader respons harus menunjukkan bahwa respons berasal dari server origin kondisional.
