Secara default, header Host dalam permintaan asal yang dikirim oleh CDN adalah nama domain yang dipercepat. Fitur ini memungkinkan Anda menyesuaikan nilai header tersebut.
Tentang host asal default
Jika Anda menyajikan sumber daya statis berbeda dari beberapa nama domain yang dipercepat, pendekatan umum adalah menyiapkan server asal terpisah untuk setiap domain.
Namun, memelihara beberapa server tidak efisien, terutama untuk nama domain yang dipercepat dengan lalu lintas asal rendah. Masalah ini dapat diatasi dengan menggunakan hosting virtual.
Hosting virtual
Hosting virtual memungkinkan satu server web menghosting beberapa situs web. Server membedakan dan mengisolasi situs web berdasarkan nama domain atau hostname yang berbeda. Saat pengguna meminta nama domain atau hostname tertentu, server mengarahkan permintaan ke situs virtual yang sesuai dan mengembalikan konten relevan.
Implementasi Nginx
Nginx menggunakan blok server untuk mengonfigurasi beberapa situs virtual. Contoh berikut menunjukkan konfigurasi dasar:
server {
listen 80;
server_name example.org www.example.org;
...
}
server {
listen 80;
server_name example.net www.example.net;
...
}
server {
listen 80;
server_name example.com www.example.com;
...
}Konfigurasi ini mendefinisikan tiga situs virtual: example.org, example.net, dan example.com. Nginx mencocokkan header Host dengan server_name untuk memilih situs virtual yang tepat. Jika tidak ditemukan kecocokan, Nginx menyajikan konten dari situs virtual default. Jika situs default tidak dikonfigurasi secara eksplisit, blok server pertama menjadi default.
Host asal default
Saat mengakses URL, header Host dalam permintaan secara default menggunakan host dan port dari URL tersebut. CDN mengganti nilai ini dengan mengatur header Host ke nama domain yang dipercepat. Anda dapat menyesuaikan nilai tersebut berdasarkan konfigurasi hosting virtual pada server asal Anda.
Server asal harus dikonfigurasi untuk menggunakan header Host guna mengarahkan permintaan ke situs virtual yang berbeda. Jika tidak, fitur ini tidak akan berfungsi dengan benar.
Jika server asal Anda menggunakan protokol HTTPS, selain mengonfigurasi host asal default, Anda biasanya juga perlu mengonfigurasi Default Origin SNI. Jika host asal dan Origin SNI dikonfigurasi secara tidak konsisten (misalnya, HOST diatur ke nama domain asal sedangkan SNI diatur ke nama domain yang dipercepat), handshake SSL dapat gagal atau terjadi error pada server asal. Disarankan agar host asal dan Origin SNI diatur ke nama domain yang sama (biasanya nama domain asal atau nama domain yang dipercepat), yang harus sesuai dengan sertifikat server asal dan konfigurasi host virtual. Di Konsol, "Default Origin Host" dan "Default Origin SNI" merupakan dua item konfigurasi terpisah.
Prosedur
Login ke CDN console.
Di panel navigasi sebelah kiri, pilih Domain Names.
Temukan domain yang dipercepat target dan klik Manage di kolom Actions.
Di panel navigasi sebelah kiri, pilih Origin Fetch.
Di bagian Default Origin Host, klik Modify.
Aktifkan sakelar Origin Host dan pilih Domain Type.
Parameter | Deskripsi |
Accelerated Domain Name | Mengatur host asal ke nama domain yang dipercepat. |
Origin Domain | Mengatur host asal ke nama domain server asal. Jika server asal ditentukan dengan alamat IP, opsi ini akan dinonaktifkan dan tidak tersedia. Jika server asal adalah domain OSS, fitur ini diaktifkan secara otomatis dan Origin Host diatur ke Origin Domain. |
Custom | Mengatur host asal ke domain kustom yang Anda tentukan. Pastikan nama domain kustom tersebut telah diikat ke server asal Anda. Jika tidak, permintaan asal akan gagal. Gunakan opsi ini jika server asal Anda diikat ke beberapa nama domain dan Anda perlu mengambil sumber daya dari salah satu domain tertentu. |
Jika server asal Anda menggunakan protokol HTTPS, Anda juga harus mengonfigurasi Default Origin SNI pada halaman Origin Fetch yang sama. Disarankan agar Origin Host dan Default Origin SNI diatur ke nama domain yang sama (biasanya nama domain asal) untuk menghindari kegagalan handshake SSL atau penolakan oleh server asal. Misalnya, jika Origin Host diatur ke nama domain asal tetapi Default Origin SNI diatur ke nama domain yang dipercepat, verifikasi sertifikat oleh server asal mungkin gagal.
Klik OK.
Contoh konfigurasi
Secara default, fitur ini dinonaktifkan. Anda dapat mengaktifkannya secara manual.
Contoh 1: Server asal ditentukan dengan nama domain
Konfigurasi:
Nama domain yang dipercepat:
image.example.comAlamat server asal:
source.example.com
Setiap Jenis Domain memiliki perilaku sebagai berikut:
Accelerated Domain Name: Saat CDN melakukan permintaan asal, sumber daya diambil dari situs virtual
image.example.compada server asalsource.example.com.Origin Domain: Saat CDN melakukan permintaan asal, sumber daya diambil dari
source.example.com.Custom: Host asal adalah domain kustom yang Anda masukkan. Saat CDN melakukan permintaan asal, sumber daya diambil dari situs virtual untuk domain kustom tersebut pada host
source.example.com.
Contoh 2: Server asal ditentukan dengan alamat IP
Konfigurasi:
Nama domain yang dipercepat:
example.comAlamat server asal:
10.10.10.10
Setiap Jenis Domain memiliki perilaku sebagai berikut:
Accelerated Domain Name: Saat CDN melakukan permintaan asal, sumber daya diambil dari situs virtual untuk
example.compada host10.10.10.10.Origin Domain: Opsi ini tidak tersedia karena server asal berupa alamat IP.
Custom: Saat CDN melakukan permintaan asal, sumber daya diambil dari situs virtual domain kustom pada host
10.10.10.10.
Contoh 3: Server asal adalah domain OSS
Konfigurasi:
Nama domain yang dipercepat:
example.comAlamat server asal:
example.oss-cn-hangzhou.aliyuncs.com
Saat server asal adalah domain OSS, CDN secara otomatis mengaktifkan fitur ini dan mengatur Origin Host ke Origin Domain. Setiap Jenis Domain memiliki perilaku sebagai berikut:
Accelerated Domain Name: Saat CDN melakukan permintaan asal, sumber daya diambil dari situs
example.compada domain OSSexample.oss-cn-hangzhou.aliyuncs.com.Origin Domain: Saat CDN melakukan permintaan asal, sumber daya diambil dari domain OSS
example.oss-cn-hangzhou.aliyuncs.com.Custom: Saat CDN melakukan permintaan asal, sumber daya diambil dari situs virtual untuk domain kustom pada situs
example.oss-cn-hangzhou.aliyuncs.comAnda.
FAQ
Apa yang harus saya lakukan jika mendapatkan error 404, 500, 502, atau 403 saat mengakses nama domain yang dipercepat setelah mengonfigurasi host asal default?
Ikuti langkah troubleshooting berikut:
Periksa apakah konfigurasi host asal sesuai dengan konfigurasi host virtual server asal. Jika server asal Anda menggunakan header
Hostuntuk membedakan situs virtual (sepertiserver_namepada Nginx), pastikan host asal default yang dikonfigurasi di Konsol CDN sesuai dengan nama domain yang diharapkan oleh server asal. Navigasi konsol: Domain Names > Daftar Nama Domain > Pilih domain target > Origin Fetch (sub-tab) > Di bagian Origin Host, klik Modify, lalu di kotak dialog, atur Domain Type ke nama domain asal atau nama domain yang dipercepat.Periksa apakah server asal memblokir IP node CDN. Jika host asal dikonfigurasi dengan benar tetapi error tetap terjadi, periksa apakah kebijakan keamanan server asal memblokir IP node CDN, atau apakah firewall atau security group server asal menolak permintaan dari CDN.
Periksa konfigurasi header host IIS. Jika server asal Anda menjalankan IIS dan memiliki konfigurasi header host tertentu, bidang Host dalam permintaan asal CDN harus sesuai dengan header host tersebut. Jika tidak, IIS mungkin mengembalikan error 403 atau 404. Jika IIS tidak memiliki pengaturan header host khusus (memungkinkan akses langsung via IP), tidak diperlukan konfigurasi khusus, tetapi praktik terbaik adalah mengonfigurasi header host yang benar agar sesuai dengan host asal CDN.
Purge cache CDN. Jika respons error (seperti 404 dari asal) sebelumnya di-cache oleh node edge CDN, Anda harus purge cache CDN setelah memodifikasi konfigurasi host asal untuk membersihkan respons error yang di-cache. Buka Purge and Prefetch > Purge Cache, pilih jenis purge (URL/Direktori/Regex), lalu kirimkan tugas purge.
Apa yang harus saya lakukan jika mendapatkan error ERR_TOO_MANY_REDIRECTS atau 502 setelah mengonfigurasi host asal default dan SNI?
ERR_TOO_MANY_REDIRECTS biasanya disebabkan oleh CDN dan server asal yang sama-sama dikonfigurasi dengan pengalihan paksa HTTPS, sehingga terjadi loop pengalihan. Error 502 umumnya menunjukkan bahwa protokol atau port asal salah dikonfigurasi (misalnya, server asal mendengarkan pada port non-standar). Ikuti langkah-langkah berikut:
Nonaktifkan pengalihan paksa HTTPS pada server asal. Login ke panel manajemen server asal Anda (seperti Baota Panel), temukan pengaturan HTTPS, lalu nonaktifkan opsi "Force HTTPS" atau "HTTP to HTTPS redirect".
Verifikasi bahwa host asal dan Origin SNI dikonfigurasi dengan benar. Di halaman Origin Fetch Konsol CDN, pastikan "Origin Host" dan "Default Origin SNI" diatur ke nama domain yang benar (biasanya nama domain asal) dan kedua nilai tersebut konsisten.
Periksa dan sesuaikan protokol serta port asal. Pastikan protokol asal CDN (HTTP atau HTTPS) dan port sesuai dengan konfigurasi aktual server asal. Jika server asal hanya mendengarkan pada port tertentu (misalnya port 8080 untuk HTTP), konfigurasikan port asal yang sesuai di pengaturan server asal CDN.
Purge cache CDN. Setelah menyesuaikan konfigurasi, purge cache CDN untuk membersihkan respons pengalihan atau error yang di-cache.
Bagaimana cara memverifikasi bahwa header Host dalam permintaan asal CDN sesuai dengan ekspektasi saya?
Gunakan metode berikut:
Konfirmasi bahwa permintaan melewati CDN. Di panel Network alat developer browser Anda, periksa apakah Remote Address dari permintaan Anda ke nama domain yang dipercepat merupakan IP node CDN Alibaba Cloud, yang mengonfirmasi bahwa permintaan melewati jalur akselerasi CDN. Mengakses melalui nama domain yang dipercepat mengonfirmasi status akselerasi.
Periksa header Host di log akses server asal. Login ke server asal Anda dan lihat log akses (seperti
access.logNginx). Konfirmasi bahwa nilai header Host dalam permintaan asal CDN sesuai dengan host asal default yang dikonfigurasi di Konsol CDN. Misalnya, jika host asal yang Anda konfigurasi adalahsource.example.com, nilai header Host di log server asal untuk permintaan asal yang sesuai juga harussource.example.com.Perhatikan bahwa CDN meneruskan path permintaan klien asli tanpa perubahan. Jika Anda belum mengonfigurasi fitur "Rewrite Origin URI" di konsol, CDN secara default meneruskan path permintaan klien asli tanpa menambahkan awalan atau akhiran. Jika path asal tidak sesuai dengan ekspektasi server asal, konfigurasikan penulisan ulang URI di halaman Origin Fetch.
Apa yang harus saya lakukan jika mendapatkan error 403 Forbidden saat menggunakan Cloudflare, WAF, atau layanan keamanan lain sebagai asal?
Saat server asal Anda menggunakan layanan keamanan seperti Cloudflare atau WAF, error 403 Forbidden biasanya terjadi karena host asal tidak sesuai dengan header Host yang diharapkan oleh layanan keamanan asal, sehingga kebijakan keamanan memblokir permintaan tersebut. Ikuti langkah-langkah berikut:
Atur host asal default ke domain yang benar-benar diikat ke server asal. Di Konsol CDN, atur Origin Host ke nama domain yang benar-benar diikat ke server asal (bukan nama domain yang dipercepat), sehingga sesuai dengan sertifikat dan konfigurasi host virtual server asal.
Pastikan konsistensi domain dalam konfigurasi WAF. Jika server asal menggunakan WAF (seperti Alibaba Cloud WAF atau Cloudflare), pastikan header Host dalam permintaan asal CDN sesuai dengan domain perlindungan yang dikonfigurasi di WAF. Jika tidak, WAF akan memblokir permintaan karena ketidaksesuaian domain.
Periksa log akses server asal. Login ke panel manajemen server asal atau layanan keamanan, tinjau log akses, dan konfirmasi apakah permintaan dari IP node CDN diblokir. Periksa alasan pemblokiran untuk mengidentifikasi aturan keamanan spesifik.
Purge cache CDN. Setelah memodifikasi konfigurasi, purge cache CDN untuk membersihkan respons error 403 yang di-cache.
Apa yang harus saya lakukan jika pengalihan halaman gagal atau beberapa sumber daya tidak dapat diakses setelah akselerasi CDN?
Masalah ini dapat terjadi ketika server asal bergantung pada parameter URL atau header Host tertentu untuk logika routing atau pengalihan, dan perilaku default CDN menyebabkan kehilangan parameter atau ketidaksesuaian header Host. Ikuti langkah-langkah berikut:
Periksa pengaturan parameter URL di aturan cache. Di konfigurasi cache Konsol CDN, periksa apakah fitur "Ignore URL Parameters" diaktifkan. Jika server asal bergantung pada parameter URL untuk pengalihan atau keputusan logika, mengaktifkan fitur ini dapat menyebabkan kehilangan parameter. Pertimbangkan untuk menonaktifkan "Ignore URL Parameters" atau memilih "Retain Specified Parameters" untuk mempertahankan parameter yang dibutuhkan oleh server asal.
Atur host asal ke domain yang diharapkan oleh server asal. Atur Origin Host ke nama domain yang dipercepat atau domain yang diharapkan oleh server asal, sehingga server asal dapat mengenali header Host permintaan dengan benar dan menangani logika pengalihan.
Lakukan purge direktori atau URL. Setelah memodifikasi konfigurasi, lakukan purge direktori atau URL di halaman Purge and Prefetch Konsol CDN untuk menerapkan konfigurasi baru.