全部产品
Search
文档中心

ApsaraVideo VOD:Konfigurasikan berbagi sumber daya lintas asal

更新时间:Jan 27, 2026

Anda dapat menggunakan header respons HTTP kustom untuk berbagi atau mengakses resource di berbagai domain. Topik ini menjelaskan cara mengaktifkan berbagi sumber daya lintas asal untuk resource ApsaraVideo VOD.

Apa itu berbagi sumber daya lintas asal

Berbagi sumber daya lintas asal (Cross-Origin Resource Sharing/CORS) adalah solusi standar HTML5 yang memungkinkan halaman web memuat dan mengakses resource dari origin yang berbeda. Mekanisme ini memungkinkan transmisi data lintas asal secara aman. Untuk informasi selengkapnya, lihat Cross-Origin Resource Sharing.

Mengapa mengonfigurasi berbagi sumber daya lintas asal

Demi alasan keamanan, browser menerapkan kebijakan asal sama (same-origin policy). Kebijakan ini membatasi permintaan untuk memuat dan mengakses resource dari domain, subdomain, protokol, atau port yang berbeda. Misalnya, example.com tidak dapat mengakses resource di example.org. Dengan mengonfigurasi CORS, Anda dapat menetapkan header respons pada server CDN. Jika suatu permintaan mencakup header permintaan yang sesuai dengan aturan yang diizinkan, server akan mengembalikan header respons HTTP yang sesuai, sehingga memungkinkan resource lintas asal dimuat dan diakses.

Diagram Interaksi Data

CORS dinonaktifkan

image

CORS diaktifkan

image

Aktifkan berbagi sumber daya lintas asal

  1. Masuk ke ApsaraVideo VOD console.

  2. Pada panel navigasi sebelah kiri, pilih Configuration Management > CDN Configuration > Domain Names.

  3. Pada halaman Domain Names, temukan nama domain yang ingin Anda kelola, lalu klik Configure.

  4. Pada panel navigasi sebelah kiri untuk nama domain tersebut, klik Cache.

  5. Klik tab Custom HTTP Response Header.

  6. Klik Add untuk mengonfigurasi header respons HTTP kustom.

  7. Konfigurasikan parameter seperti dijelaskan dalam tabel berikut untuk menentukan origin yang diizinkan dalam permintaan lintas asal, lalu klik OK untuk menyimpan konfigurasi.

    域名管理-配置跨域访问1.png

    Parameter

    Contoh

    Operation

    Add

    Response Header

    Access-Control-Allow-Origin

    Header Value

    *

    Catatan
    • Anda dapat menetapkan nilai header respons ke `*` untuk mengizinkan semua origin.

    • Jika nilai header respons bukan `*`, Anda dapat menentukan satu atau beberapa alamat IP, nama domain, atau kombinasi keduanya. Pisahkan dengan koma (,).

    • Jika nilai header respons bukan `*`, nilai tersebut harus mencakup protokol `http://` atau `https://`.

    • Nilai header respons dapat mencakup nomor port.

    • Nilai header respons mendukung nama domain wildcard.

    Allow Duplicates

    No

    Catatan
    • Yes: Mengizinkan duplikat. Header dari server origin dipertahankan, dan header lain dengan nama yang sama ditambahkan.

    • No: Tidak mengizinkan duplikat. Header dari server origin ditimpa oleh header baru dengan nama yang sama.

    Topik ini memberikan contoh pencegahan duplikat. Konfigurasi spesifik tergantung pada lingkungan aktual Anda.

    Penting

    Pengaturan Allow Duplicates dan CORS Validation saling eksklusif. Jika Anda menetapkan Allow Duplicates ke Yes, validasi CORS menjadi tidak berlaku.

    CORS

    Enabled

    Catatan
    • Anda hanya dapat mengonfigurasi CORS Validation ketika Response Header Operation diatur ke Add dan Custom Response Header Parameter diatur ke `Access-Control-Allow-Origin`.

    • CORS Validation dapat diatur ke Disabled atau Enabled. Nilai default-nya adalah Disabled.

      • Disabled: POP CDN tidak memvalidasi header Origin dalam permintaan pengguna. POP hanya mengembalikan nilai `Access-Control-Allow-Origin` yang dikonfigurasi.

      • Enabled: POP CDN memvalidasi permintaan lintas asal berdasarkan aturan berikut dan mengembalikan nilai `Access-Control-Allow-Origin` berdasarkan hasil validasi. Aturan validasi sebagai berikut:

        • Pencocokan wildcard: Jika nilai Custom Response Header Parameter `Access-Control-Allow-Origin` diatur ke `*`, POP selalu mengembalikan `Access-Control-Allow-Origin:*`, terlepas dari apakah permintaan pengguna berisi parameter `Origin` atau berapa pun nilainya.

        • Pencocokan eksak: Nilai Custom Response Header Parameter `Access-Control-Allow-Origin` diatur ke satu atau beberapa nilai yang dipisahkan koma (,).

          • Jika nilai parameter `Origin` dalam permintaan pengguna persis sesuai dengan salah satu nilai yang dikonfigurasi, header lintas domain yang sesuai dikembalikan.

          • Jika tidak ditemukan kecocokan eksak, header lintas domain tidak dikembalikan.

        • Pencocokan domain wildcard: Jika nilai Custom Response Header Parameter `Access-Control-Allow-Origin` diatur ke nama domain wildcard, POP memeriksa apakah nilai `Origin` dalam header permintaan cocok dengan nama domain wildcard tersebut.

      • Saat CORS Validation diatur ke Enabled, jika nama domain dalam Response Header Value mengandung tanda hubung (-), Anda harus melakukan escape terhadap tanda hubung tersebut sebelum mengonfigurasinya. Escape tanda hubung (-) menjadi %-. Contohnya:

        • Nilai header respons asli: http://doc.aliyun-example.com.

        • Nilai header respons setelah escape: http://doc.aliyun%-example.com.

  8. Konfigurasikan parameter seperti dijelaskan dalam tabel berikut untuk menentukan metode permintaan lintas asal yang diizinkan, lalu klik OK untuk menyimpan konfigurasi.

    域名管理-配置跨域访问2.png

    Parameter

    Contoh

    Operation

    Add

    Response Header

    Access-Control-Allow-Methods

    Header Value

    GET, POST, PUT

    Catatan

    Untuk menambahkan GET, POST, dan PUT sekaligus, pisahkan dengan koma (,).

    Allow Duplicates

    No

    Catatan
    • Allow: Mempertahankan header dari server origin dan menambahkan header baru dengan nama yang sama.

    • No: Tidak mengizinkan duplikat. Header dari server origin ditimpa oleh header baru dengan nama yang sama.

    Topik ini memberikan contoh cara mencegah duplikat. Konfigurasi aktual tergantung pada lingkungan spesifik Anda.

Contoh konfigurasi

Contoh 1

Anda dapat menetapkan header respons CORS ke satu atau beberapa nilai yang dipisahkan koma (,).

  • Jika nilai header `Origin` dalam permintaan persis sesuai dengan salah satu nilai yang dikonfigurasi, header lintas domain yang sesuai dikembalikan.

  • Jika tidak ditemukan kecocokan eksak, header lintas domain tidak dikembalikan.

Sebagai contoh, di ApsaraVideo VOD console, Anda menetapkan Access-Control-Allow-Origin ke `http://example.com,https://aliyundoc.com`.

  • Jika permintaan pengguna mencakup header Origin: http://example.com, POP CDN mengembalikan Access-Control-Allow-Origin: http://example.com.

  • Jika permintaan pengguna mencakup header Origin: https://aliyundoc.com, POP CDN mengembalikan Access-Control-Allow-Origin: https://aliyundoc.com.

  • Jika permintaan pengguna mencakup header Origin: http://aliyundoc.com, POP CDN tidak mengembalikan header `Access-Control-Allow-Origin` karena protokol tidak cocok—permintaan pengguna menggunakan HTTP, sedangkan konfigurasi pada CDN menggunakan HTTPS.

  • Jika permintaan pengguna mencakup header Origin: http://aliyun.com, POP CDN tidak mengembalikan header `Access-Control-Allow-Origin` karena domain tidak cocok.

Contoh 2

Jika Anda menetapkan header respons CORS ke nama domain wildcard, sistem akan memeriksa apakah nilai Origin dalam header permintaan cocok dengan pola wildcard yang ditentukan untuk Access-Control-Allow-Origin.

Sebagai contoh, di ApsaraVideo VOD console, Anda menetapkan Access-Control-Allow-Origin ke `http://*.aliyundoc.com`.

  • Jika permintaan pengguna mencakup header Origin: http://demo.aliyundoc.com, POP CDN mengembalikan Access-Control-Allow-Origin: http://demo.aliyundoc.com.

  • Jika permintaan pengguna mencakup header Origin: http://demo.example.com, POP CDN tidak mengembalikan header `Access-Control-Allow-Origin` karena domain tidak cocok.

  • Jika permintaan pengguna mencakup header Origin: https://demo.aliyundoc.com, POP CDN tidak mengembalikan header `Access-Control-Allow-Origin` karena protokol tidak cocok—permintaan pengguna menggunakan HTTPS, sedangkan konfigurasi pada CDN menggunakan HTTP.