Topik ini merangkum isu-isu umum dan metode troubleshooting untuk skenario pengambilan asal CDN berdasarkan gejala, mencakup kegagalan pengambilan asal dan error 5xx, loop pengalihan, error 4xx, error pengambilan asal OSS, serta konten dan perilaku pengambilan asal yang tidak normal.
Referensi cepat gejala
Pertama-tama tentukan titik masuk berdasarkan fenomena yang diamati pada client, lalu ikuti langkah-langkah di bagian yang sesuai untuk melakukan troubleshooting satu per satu.
Gejala atau kode status | Penyebab umum | Entri Pemecahan Masalah |
502 Bad Gateway | Protokol atau port asal tidak sesuai dengan yang didengarkan oleh server asal, SNI asal tidak dikonfigurasi, atau sertifikat server asal tidak valid | Bagaimana cara troubleshooting error 502 yang dikembalikan selama pengambilan asal? |
502 dikembalikan saat protokol asal diatur ke Follow | Client mengakses melalui HTTPS, CDN melakukan pengambilan asal melalui HTTPS sesuai, tetapi server asal tidak mendukung HTTPS | Bagaimana cara troubleshooting error 502 saat protokol asal diatur ke Follow? |
504 Gateway Timeout | Server asal merespons lambat, firewall diam-diam menjatuhkan paket, atau timeout permintaan HTTP asal terlalu singkat | Bagaimana cara troubleshooting error 504 selama pengambilan asal? |
503 Service Temporarily Unavailable | Layanan pada server asal tidak normal atau kelebihan beban, server asal melakukan throttle terhadap permintaan, atau perangkat lunak keamanan memblokir alamat IP pengambilan asal | Bagaimana cara troubleshooting error 503 selama pengambilan asal? |
ERR_TOO_MANY_REDIRECTS | Server asal dikonfigurasi dengan pengalihan paksa dari HTTP ke HTTPS, sedangkan CDN melakukan pengambilan asal melalui HTTP | |
Loop pengalihan hanya muncul setelah host asal atau SNI asal dikonfigurasi | Setelah server asal mencocokkan situs target, aturan pengalihan paksa situs tersebut mulai berlaku | Loop pengalihan setelah host asal dan SNI asal dikonfigurasi |
404, 403, 500, atau 502 dikembalikan setelah host asal dikonfigurasi | Host asal tidak sesuai dengan host virtual server asal (server_name, ServerName, atau nama host IIS) | Error yang dikembalikan setelah host asal default dikonfigurasi |
403 Forbidden | Aturan kontrol akses di sisi CDN terpicu, atau perlindungan hotlink, pembatasan IP, atau WAF server asal memblokir permintaan pengambilan asal | Apa yang harus saya lakukan jika error 403 Forbidden dikembalikan? |
Error 404 dikembalikan saat mengakses melalui CDN, tetapi akses langsung ke server asal berhasil | Host asal salah, node telah menyimpan respons 404 lama dalam cache, atau path permintaan berbeda dalam hal kapitalisasi atau encoding | Error 404 dikembalikan selama pengambilan asal, tetapi akses langsung ke server asal berhasil |
error bucket acl | Bucket OSS pada asal berada dalam mode privat, dan pengambilan asal dari bucket OSS privat tidak diaktifkan | |
Kesalahan: Dilarang oleh KMS | Objek di OSS dienkripsi dengan KMS, dan peran pengambilan asal CDN tidak memiliki izin dekripsi KMS | |
error forbidden to list buckets | Pengambilan asal dari bucket OSS privat bertentangan dengan konfigurasi homepage default hosting situs web statis OSS, dan akses ke direktori root ditolak | |
Adaptasi perangkat berhenti bekerja (perangkat berbeda menerima halaman yang sama) | Respons pengalihan 302 untuk perangkat pertama disimpan dalam cache, dan perangkat lain yang mengakses URL yang sama mengenai cache tersebut | Adaptasi perangkat gagal setelah pengalihan 302 berdasarkan jenis perangkat |
Pengalihan halaman gagal atau beberapa resource tidak dapat diakses | Abaikan parameter URL menyebabkan permintaan dengan parameter berbeda berbagi cache yang sama, atau host asal tidak sesuai | |
Unduhan file besar terputus, atau unduhan yang dapat dilanjutkan atau pencarian video gagal | Server asal tidak mendukung permintaan Range, atau server asal merespons dengan kode status non-206 terhadap pengambilan asal Range |
Cara menentukan apakah masalah terjadi selama pengambilan asal
Masalah pengambilan asal biasanya muncul sebagai error 5xx atau 4xx saat mengakses nama domain yang dipercepat, atau respons yang berbeda dari yang diharapkan. Gunakan langkah-langkah berikut untuk mengidentifikasi pihak yang bertanggung jawab terlebih dahulu, lalu lanjutkan ke bagian yang sesuai untuk troubleshooting.
Verifikasi apakah permintaan melewati CDN: Jalankan
curl -I http(s)://nama-domain-yang-dipercepat/path-resourceuntuk memeriksa header respons. Jika header respons berisi field tanda tangan CDN sepertiX-CacheatauVia, permintaan telah mencapai node CDN. Jika field tersebut tidak ada, jalankandig nama-domain-yang-dipercepatuntuk memeriksa apakah hasil resolusi adalah CNAME yang diberikan oleh CDN. Jika resolusi salah, perbaiki resolusi DNS terlebih dahulu agar nama domain yang dipercepat hanya meresolusi ke rekaman CNAME yang disediakan oleh CDN. Jika resolusi benar tetapi header respons tanda tangan CDN masih tidak ada, selidiki kemungkinan pembajakan DNS atau binding file hosts lokal.CatatanHeader respons
Server: AliyunOSSsaja tidak membuktikan bahwa permintaan mencapai OSS secara langsung. Saat OSS berperan sebagai origin CDN, CDN dapat meneruskan header respons ini setelah pengambilan asal. Lebih andalkan hasil resolusi DNS dan header respons tanda tangan CDN.Tentukan apakah pengecualian berasal dari cache atau dari pengambilan asal: Setelah memastikan permintaan melewati CDN, periksa
X-Cache.Jika nilainya
HIT, permintaan mengenai cache CDN. Respons abnormal mungkin berasal dari cache lama. Lakukan refresh URL terlebih dahulu, lalu akses kembali untuk mereproduksi masalah.Jika nilainya
MISS, CDN telah melakukan pengambilan asal. Jika respons masih abnormal, masalah kemungkinan besar terjadi di jalur pengambilan asal atau respons server asal.Bandingkan akses langsung ke server asal dengan akses melalui CDN: Bind file hosts lokal, atau akses langsung ke alamat IP atau nama domain server asal. Jika akses langsung ke server asal berhasil tetapi akses melalui CDN gagal, fokuslah pada konfigurasi pengambilan asal (protokol asal, port, host asal, dan SNI asal) serta cara server asal menangani alamat IP pengambilan asal CDN. Jika akses langsung ke server asal juga gagal, perbaiki masalah di server asal terlebih dahulu. Tidak diperlukan penyesuaian di sisi CDN.
Bandingkan log akses CDN dengan log akses server asal: Jika log server asal tidak berisi permintaan tersebut, permintaan pengambilan asal gagal sebelum mencapai server asal. Periksa resolusi DNS, konektivitas jaringan, proses jabat tangan TLS, serta grup keamanan atau firewall. Jika server asal menerima permintaan tetapi mengembalikan error, bandingkan path permintaan, Host, User-Agent, dan bidang Referer di kedua sisi log untuk menemukan perbedaan satu per satu.
Kegagalan pengambilan asal dan error 5xx
Pengecualian pengalihan
Error pengambilan asal 4xx
Fokus troubleshooting berbeda berdasarkan kode status:
404: Permintaan mencapai server asal, tetapi server asal tidak dapat menemukan resource di bawah host virtual tersebut. Fokus pada apakah path permintaan pengambilan asal benar dan apakah CDN telah menyimpan respons 404 lama dalam cache.
403: Server asal menolak permintaan. Fokus pada apakah perlindungan hotlink berbasis Referer, daftar putih alamat IP, aturan WAF, dan header Host sesuai dengan kebijakan keamanan server asal.
Error pengambilan asal OSS
Konten dan perilaku tidak normal
Operasi umum
Beberapa skenario di atas berbagi dua operasi: refresh cache dan pemeliharaan daftar putih IP pengambilan asal. Keduanya dijelaskan di sini bersama-sama.
Kapan harus refresh cache:
Setelah Anda memodifikasi konfigurasi pengambilan asal (protokol asal, port asal, host asal, SNI asal, aturan cache, dan sebagainya), konfigurasi baru hanya berlaku untuk permintaan pengambilan asal berikutnya. Respons abnormal yang sudah disimpan dalam cache di node (seperti 403, 404, dan pengalihan 301/302) tidak kedaluwarsa secara otomatis. Oleh karena itu, kami menyarankan agar Anda menjalankan refresh setelah memodifikasi konfigurasi. Jika tidak, Anda mungkin salah menyimpulkan bahwa "konfigurasi belum berlaku." Setelah konfigurasi dimodifikasi, konfigurasi tersebut perlu didistribusikan ke semua node di jaringan, yang biasanya membutuhkan beberapa menit.
Memilih metode refresh:
Refresh URL: Cocok saat alamat pasti resource abnormal diketahui. Ini secara tepat menghapus cache resource tunggal.
Refresh direktori: Cocok saat resource di bawah seluruh direktori mungkin terpengaruh, misalnya saat seluruh situs mengembalikan error 404 setelah host asal dimodifikasi.
Refresh regex: Cocok saat Anda perlu refresh secara massal berdasarkan pola path atau ekstensi nama file.
Untuk refresh seluruh situs, Anda dapat menjalankan refresh direktori pada direktori root nama domain, atau memanggil operasi API RefreshObjectCaches dengan parameter Force diatur ke true. Untuk operasi spesifik, waktu efektif, dan batas kuota harian setiap jenis refresh, lihat Purge and prefetch resources.
Memelihara daftar putih IP pengambilan asal:
Dalam beberapa skenario error 502, 503, dan 504, serta error 403 sisi asal, akar penyebabnya adalah server asal memblokir atau melakukan throttle terhadap alamat IP pengambilan asal CDN. Rentang alamat IP pengambilan asal berubah seiring penjadwalan node dan diperbarui secara berkala. Setelah daftar putih kedaluwarsa, kegagalan pengambilan asal muncul kembali.
Kami menyarankan agar Anda secara berkala mendapatkan daftar terbaru dan menyinkronkannya ke grup keamanan, firewall, WAF, dan aturan batas laju server asal. Untuk mendapatkan daftar IP pengambilan asal node L2 untuk nama domain tertentu, gunakan operasi API DescribeL2VipsByDomain. Jika server asal mengontrol alamat IP sumber melalui grup keamanan atau aturan firewall, kami menyarankan agar Anda mengintegrasikan operasi API di atas ke dalam tugas terjadwal untuk secara berkala menarik rentang alamat IP pengambilan asal terbaru dan memperbarui daftar putih secara otomatis.