Topik ini menjelaskan masalah umum dan solusinya saat menggunakan CDN untuk mempercepat akses ke resource OSS, mencakup skenario seperti verifikasi akselerasi, penerapan HTTPS, pengambilan asal (origin fetch) untuk bucket pribadi, kebijakan cache, pemrosesan gambar dan tangkapan video, serta konfigurasi Perlindungan hotlink.
Memverifikasi akselerasi CDN untuk OSS
Langkah 1: Periksa rekaman CNAME
Misalnya, jika Anda menggunakan Alibaba Cloud DNS, login ke Konsol Manajemen DNS, pilih Authoritative DNS, lalu klik DNS Settings di samping nama domain.
Verifikasi bahwa rekaman CNAME (misalnya,
oss.example.com.w.kunlunaq.com) telah ditambahkan untuk nama domain yang dipercepat (misalnya,oss.example.com) dan statusnya adalah Enabled.
Langkah 2: Verifikasi domain dengan nslookup
Buka Command Prompt (Windows) atau Terminal (macOS/Linux).
Jalankan
nslookup -type=CNAME <accelerated_domain_name>. Jika nilai CNAME yang dikembalikan sesuai dengan nilai yang disediakan di konsol CDN untuk nama domain yang dipercepat, berarti akselerasi CDN aktif.
Jika Anda belum mengonfigurasi rekaman CNAME, lihat Configure a CNAME record.
Mempercepat bucket OSS pribadi dengan CDN
Jika origin untuk nama domain yang dipercepat Anda adalah bucket pribadi, Anda harus mengaktifkan fitur Access Private OSS Buckets untuk nama domain tersebut. Fitur ini memungkinkan CDN mempercepat akses ke resource dalam bucket pribadi.
Setelah mengaktifkan fitur ini, Anda dapat mengakses semua resource dalam bucket pribadi menggunakan nama domain yang dipercepat, dan metode autentikasi pribadi berbasis URL asli tidak lagi berlaku. Anda dapat menggunakan fitur Perlindungan hotlink dan autentikasi URL dari CDN untuk melindungi resource Anda dari akses tidak sah. Untuk informasi lebih lanjut, lihat Configure a Referer Whitelist or Blacklist dan Configure URL authentication.
Men-deploy sertifikat HTTPS untuk akselerasi CDN
Saat menggunakan CDN untuk mempercepat akses ke OSS, Anda hanya perlu men-deploy sertifikat HTTPS pada CDN. Untuk informasi lebih lanjut, lihat Configure an HTTPS certificate.
Jika sertifikat Anda dikelola oleh Layanan Manajemen Sertifikat Digital Alibaba Cloud (sebelumnya Layanan Sertifikat SSL), Anda juga dapat men-deploy-nya dari konsol Layanan Manajemen Sertifikat Digital. Untuk informasi lebih lanjut, lihat Deploy an SSL certificate to Alibaba Cloud services.
Error 403 Forbidden
Langkah pemecahan masalah:
Periksa pesan error di halaman. Jika Anda melihat pesan seperti
You don't have permission to access the URL on this serveratauYou are forbidden to list buckets, disertai detail sepertidenied by IP ACL = not in whitelist, Anda dapat menggunakan informasi ini untuk mengidentifikasi kebijakan pemblokiran secara cepat.Jika satu-satunya pesan adalah
You don't have permission to access the URL on this servertanpa detail lainnya, periksa pengaturan autentikasi URL dan autentikasi jarak jauh (remote authentication) CDN Anda.
Jika gambar untuk suatu nama domain gagal dimuat dengan error penolakan izin:
Periksa sakelar pengambilan asal bucket pribadi: Login ke konsol CDN, buka halaman Domain Management untuk domain target, dan pastikan pengambilan asal untuk bucket OSS pribadi Alibaba Cloud telah diaktifkan. Jika tidak diaktifkan, CDN tidak memiliki izin untuk mengakses resource OSS pribadi, sehingga menyebabkan error 403.
Periksa konfigurasi daftar putih/hitam Referer: Buka pengaturan domain dan verifikasi bahwa Referer permintaan ada dalam daftar putih. Jika permintaan diblokir oleh aturan Referer, tambahkan Referer target ke daftar putih.
Jika Anda telah mengonfigurasi hosting situs web statis pada OSS dan file indeks (misalnya, index.html) atau bucket itu sendiri bersifat pribadi, Anda harus mengaktifkan fitur Access Private OSS Buckets. Kemudian, konfigurasikan aturan penulisan ulang URL di CDN untuk menulis ulang URL akses ke file indeks yang dikonfigurasi (misalnya, index.html). Node tepi CDN akan mengeluarkan redirect 302, meminta klien untuk meminta konten index.html. Proses ini memungkinkan hosting situs web statis. Untuk konfigurasi terperinci, lihat Rewrite an access URL. Untuk mengonfigurasi aturan tersebut, atur Path to Rewrite menjadi ^/$, Destination Path menjadi /index.html, dan Action menjadi Redirect.
Akses lambat setelah mengaktifkan CDN
Saat menggunakan nama domain yang dipercepat untuk mengakses resource untuk pertama kalinya, permintaan dikirim ke node tepi CDN. Karena resource tersebut belum di-cache di node tersebut, node tepi CDN melakukan pengambilan asal dari OSS, menyimpan resource di cache, lalu mengembalikannya ke klien. Permintaan berikutnya untuk resource yang sama akan langsung dilayani dari node tepi CDN. Oleh karena itu, akses pertama kali mungkin lebih lambat dibandingkan tanpa akselerasi CDN.
Anda dapat menggunakan fitur preheat CDN untuk menyimpan resource OSS di node tepi CDN terlebih dahulu. Hal ini memastikan bahwa permintaan klien pertama kali langsung dilayani dari node tepi CDN tanpa perlu pengambilan asal. Untuk petunjuknya, lihat Refresh and preheat resources.
Kebijakan cache untuk mengurangi pengambilan asal
Jika Anda tidak mengonfigurasi waktu kedaluwarsa cache atau waktu yang dikonfigurasi terlalu singkat, CDN mungkin melakukan pengambilan asal secara sering. Hal ini meningkatkan trafik origin-to-OSS dan biaya terkait, serta dapat mengurangi kecepatan akses. Anda dapat mengonfigurasi waktu kedaluwarsa cache sesuai kebutuhan bisnis Anda:
Untuk file statis yang jarang diperbarui, seperti gambar dan installer aplikasi, atur masa hidup data (TTL) menjadi satu bulan atau lebih lama.
Untuk file statis yang sering diperbarui, seperti file JS dan CSS, atur TTL berdasarkan frekuensi pembaruan Anda.
Untuk informasi lebih lanjut, lihat Configure cache expiration rules.
Memastikan pengguna mengakses resource terbaru
Setelah memodifikasi file di OSS, untuk memastikan node CDN secara otomatis merefresh cache-nya dan klien menerima konten yang diperbarui, Anda dapat mengaktifkan fitur refresh cache CDN otomatis di konsol OSS. Untuk petunjuk spesifik, lihat bagian "Enable automatic CDN cache refresh" dalam Configure automatic CDN cache refresh.
Fitur ini tidak menjamin bahwa tugas refresh akan berhasil dikirimkan atau dikirimkan tepat waktu. Jika Anda memerlukan pembaruan real-time atau perlu melacak status refresh, gunakan fitur refresh CDN. Untuk informasi lebih lanjut, lihat Refresh and preheat resources.
Tidak dapat mengaktifkan refresh CDN otomatis di konsol OSS
Anda tidak dapat mengaktifkan refresh cache CDN otomatis dan muncul pesan: "Please bind this domain name in OSS first".
Solusi: Di kolom Map Custom Domain Name, klik Unbound untuk domain yang sesuai dan ikuti petunjuk di layar untuk mengikat domain tersebut. Jika Anda telah mengikat domain ke CDN dan DNS Anda di-resolve ke CNAME CDN, jangan ubah rekaman DNS setelah mengikat domain OSS. Jika tidak, layanan akselerasi CDN tidak akan berfungsi.
Parameter pemrosesan gambar OSS tidak berlaku
Saat menggunakan CDN untuk mempercepat OSS, permintaan pertama kali mencapai node tepi CDN. Jika fitur 'Ignore Parameters' diaktifkan di CDN, node tersebut akan menghapus semua parameter setelah tanda ? dalam URL permintaan. Jika resource sudah di-cache, CDN tidak akan melakukan pengambilan asal, sehingga pemrosesan gambar OSS tidak diterapkan. Untuk informasi lebih lanjut, lihat Ignore parameters.
Nonaktifkan fitur 'Ignore Parameters'. Saat permintaan menyertakan parameter, hal tersebut akan memicu pengambilan asal ke OSS, dan pemrosesan gambar berfungsi sebagaimana mestinya.
Setelah menonaktifkan 'Ignore Parameters', rasio hit cache mungkin menurun karena setiap permintaan yang menyertakan parameter akan memicu pengambilan asal. Sebagai alternatif, Anda dapat menggunakan fitur image processing yang disediakan oleh CDN untuk melakukan pemrosesan gambar di node tepi CDN.
Konfigurasi khusus untuk tangkapan video
Saat menggunakan fitur tangkapan video OSS (dengan parameter seperti x-oss-process=video/snapshot,t_1000), jika 'Ignore Parameters' diaktifkan untuk domain CDN, URL video asli dan URL dengan parameter tangkapan akan di-cache sebagai resource yang sama. Hal ini dapat menyebabkan gambar tangkapan dikembalikan saat mengakses video, atau video asli dikembalikan saat meminta tangkapan.
Solusi: Di konsol CDN, gunakan fitur 'Ignore URL Parameters' dan beralih ke mode yang mempertahankan parameter tertentu. Tambahkan x-oss-process ke daftar parameter yang dipertahankan. Hal ini memungkinkan URL dengan parameter tangkapan di-cache secara terpisah, sehingga menghindari konflik dengan cache video asli. Setelah mengubah konfigurasi, Anda harus merefresh direktori yang berisi file video tersebut.
Mengecualikan file atau direktori dari cache CDN
Saat mempercepat OSS dengan CDN, Anda mungkin perlu melewati cache CDN untuk file atau direktori tertentu agar setiap permintaan mengambil versi terbaru langsung dari OSS. Anda dapat melakukannya dengan dua cara, tergantung pada praktik manajemen Anda:
Konfigurasi sisi CDN (Direkomendasikan): Kelola aturan caching di konsol CDN. Metode ini cocok untuk skenario di mana tim operasional melakukan manajemen terpusat. Buka Cache dan atur durasi cache menjadi 0. Setelah aturan berlaku, saat CDN menerima permintaan untuk path tersebut, CDN akan melakukan pengambilan asal dari OSS dan tidak menyimpan respons di cache.
Konfigurasi di sisi OSS: Atur header respons untuk file OSS. Ini cocok untuk skenario di mana penyimpanan dan manajemen konten terpisah. Di konsol CDN, pastikan kebijakan caching diprioritaskan untuk menghormati header origin; jika tidak, aturan CDN kustom dapat mengesampingkannya. Lalu, buka konsol OSS, navigasi ke File Management > Files, pilih file target, dan atur nilai Cache-Control sesuai kebutuhan:
Nilai Cache-control | Kasus penggunaan | Deskripsi |
| Disarankan: Untuk konten yang memerlukan pengambilan versi terbaru setiap kali, seperti file HTML, file konfigurasi, atau metadata versi. | CDN tidak menyimpan konten di cache. Browser melakukan revalidasi dengan origin menggunakan ETag. |
| Skenario sensitivitas tinggi: Untuk konten yang tidak boleh disimpan di titik mana pun, seperti data privasi pengguna, token, atau informasi keuangan. | Baik CDN maupun browser tidak menyimpan konten di cache. Permintaan penuh dilakukan setiap kali. |
| Konten personalisasi: Untuk halaman yang berisi konten spesifik pengguna yang tidak dapat dibagikan dalam cache multi-pengguna. | CDN tidak menyimpan konten di cache, tetapi browser masih dapat menyimpannya di cache. |
Kedua solusi hanya berlaku untuk permintaan baru. Jika file sudah di-cache, pengaturan baru ini tidak akan secara otomatis menghapus cache di node tepi, sehingga pengguna mungkin masih melihat versi lama. Anda juga harus merefresh cache CDN. Masukkan URL atau direktori target dan lakukan refresh. Permintaan berikutnya kemudian akan mengikuti aturan baru dan mengambil konten terbaru dari OSS.
Rasio hit cache rendah dan pengambilan asal sering terjadi
Pemecahan masalah
Jalankan curl -I pada resource yang sama beberapa kali dan periksa header respons Age dan X-Cache. Header Age: 0 atau X-Cache: MISS menunjukkan adanya pengambilan asal.
Solusi
TTL aturan cache diatur terlalu singkat atau diatur ke "Do not cache". Sesuaikan aturan caching untuk memperpanjang waktu kedaluwarsa cache.
Fitur 'Ignore Parameters' diaktifkan, tetapi URL berisi parameter penting untuk kontrol versi atau pemrosesan gambar, seperti
?v=1.1ataux-oss-process. Hal ini menyebabkan CDN memperlakukan URL dengan parameter berbeda sebagai resource yang sama, sehingga menyebabkan kesalahan konten atau kegagalan fitur. Dalam kasus ini, Anda harus menonaktifkan fitur 'Ignore Parameters'.Header respons origin, seperti
Cache-Control: no-cache, menginstruksikan CDN untuk tidak menyimpan konten di cache. Dalam kasus ini, sesuaikan kebijakan caching origin atau konfigurasikan CDN untuk mengabaikan kebijakan origin.
Rasio hit cache rendah dan pengambilan asal sering terjadi
Pemecahan masalah: Jalankan curl -I pada resource yang sama beberapa kali dan periksa header respons Age dan X-Cache. Header Age: 0 atau X-Cache: MISS menunjukkan adanya pengambilan asal.
Solusi:
TTL aturan cache diatur terlalu singkat atau diatur ke "Do not cache". Sesuaikan aturan caching untuk memperpanjang waktu kedaluwarsa cache.
Fitur 'Ignore Parameters' diaktifkan, tetapi URL berisi parameter penting untuk kontrol versi atau pemrosesan gambar, seperti
?v=1.1ataux-oss-process. Hal ini menyebabkan CDN memperlakukan URL dengan parameter berbeda sebagai resource yang sama, sehingga menyebabkan kesalahan konten atau kegagalan fitur. Dalam kasus ini, Anda harus menonaktifkan fitur 'Ignore Parameters'.Header respons origin, seperti
Cache-Control: no-cache, menginstruksikan CDN untuk tidak menyimpan konten di cache. Dalam kasus ini, Anda harus menyesuaikan kebijakan caching origin atau mengatur waktu kedaluwarsa cache di CDN untuk mengesampingkan kebijakan origin.
Video tidak dapat diputar karena tautan diidentifikasi sebagai gambar
Penyebab: Browser menentukan jenis resource dari header respons Content-Type. Jika Content-Type file video di OSS salah diatur ke jenis gambar (seperti image/jpeg), CDN meneruskan header ini, sehingga browser memproses video sebagai gambar. Masalah ini tidak dapat diselesaikan hanya dengan menambahkan parameter ke URL.
Solusi (pilih salah satu):
Disarankan: Modifikasi header respons di konsol CDN: Login ke konsol CDN, buka pengaturan untuk domain target, dan tambahkan aturan untuk memaksa
Content-Typemenjadivideo/mp4. Anda dapat menerapkan aturan ini berdasarkan ekstensi file.Perbaiki di origin: Login ke konsol OSS, temukan file video yang sesuai, dan ubah secara manual
Content-Type-nya menjadivideo/mp4di detail file.
Dukungan OSSBrowser untuk domain yang dipercepat CDN
Tool klien OSSBrowser tidak mendukung login menggunakan nama domain yang dipercepat CDN. Tool ini hanya menerima endpoint OSS asli.