全部产品
Search
文档中心

:Mengapa konten yang diambil dari POP berbeda dengan konten yang dikembalikan dari server asal?

更新时间:Jun 27, 2025

Jika konten yang diambil dari POP berbeda dengan konten yang dikembalikan dari server asal, point of presence (POP) mungkin telah menambahkan header tertentu ke permintaan HTTP yang dialihkan dari POP ke server asal. Server asal menggunakan logika pemrosesan yang berbeda untuk header tersebut, sehingga mengembalikan konten yang berbeda.

Deskripsi Masalah

Setelah Anda menggunakan Alibaba Cloud CDN atau Dynamic Content Delivery Network (DCDN) untuk mempercepat pengiriman konten, konten yang dikembalikan dari POP berbeda dengan konten yang dikembalikan dari server asal.

Penyebab

Ketika permintaan klien mencapai POP, logika berikut dilakukan:

  • Jika permintaan mengenai cache: POP mengembalikan konten yang diminta ke klien.

  • Jika permintaan tidak mengenai cache: POP mengalihkan permintaan ke server asal dan menambahkan header tertentu ke permintaan HTTP. Gambar berikut menunjukkan bagaimana POP mengalihkan permintaan ke server asal.

Dalam skenario tertentu, server asal mungkin memproses permintaan yang berisi header tertentu dengan metode yang berbeda. Akibatnya, konten yang dikembalikan dari POP berbeda dengan konten yang dikembalikan dari server asal. Sebagai contoh, server asal memeriksa apakah permintaan HTTP berisi header Via untuk menentukan apakah permintaan berasal dari server proxy, lalu memberikan respons yang sesuai.

Solusi:

  1. Identifikasi header yang menyebabkan masalah:

    • Peroleh konten dari server asal dan catat hasilnya.

    • Tambahkan header tertentu ke header permintaan HTTP dengan mensimulasikan POP, peroleh konten dari server asal, lalu catat hasilnya.

    • Gunakan header yang berbeda untuk mengulangi operasi hingga Anda mengidentifikasi header yang menyebabkan masalah.

  2. Ubah konfigurasi server asal atau hapus header yang menyebabkan masalah:

    • Periksa konfigurasi server asal dan ubah logika respons untuk header tertentu berdasarkan kebutuhan bisnis Anda.

    • Jika header tersebut tidak memiliki efek praktis pada layanan Anda dan Anda menggunakan Alibaba Cloud CDN, Anda dapat menghapus header di konsol Alibaba Cloud CDN. Anda tidak dapat menghapus header di konsol Secure CDN (SCDN) atau DCDN. Untuk menghapus header, ajukan tiket untuk menghubungi dukungan teknis Alibaba Cloud.

Solusi

Langkah 1: Lokasikan header yang menyebabkan masalah ini

Server asal hanya mengembalikan konten yang berbeda untuk header tertentu. Oleh karena itu, Anda perlu menemukan header spesifik tersebut. Untuk mengidentifikasi header, lakukan operasi berikut:

  1. Peroleh konten dari server asal dan catat hasilnya.

    curl -voa 'http://[$Your_Wesbite]' -x [$Origin_Server_IP]:[$Origin_Server_Port]
    Catatan
    • [$Your_Website]: nama domain situs web Anda.

    • [$Origin_Server_IP]: alamat IP publik server asal.

    • [$Origin_Server_Port]: port server asal yang menampung situs web. Dalam banyak kasus, port 80 atau 443 digunakan.

  2. Tambahkan header tertentu ke header permintaan HTTP dengan mensimulasikan POP, peroleh konten dari server asal, lalu catat hasilnya.

    curl -voa 'http://www.[$Your_Wesbite].com' -x [$Origin_Server_IP]:[$Origin_Server_Port] -H 'Via:example.aliyundoc.com'
    Catatan

    Dalam contoh ini, header Via:example.aliyundoc.com digunakan. Anda dapat menggunakan header dan nilai kustom berdasarkan kebutuhan bisnis Anda. Untuk informasi lebih lanjut tentang header yang ditambahkan oleh Alibaba Cloud CDN, lihat Referensi.

  3. Bandingkan hasil dari Langkah 1 dan Langkah 2.

    • Jika hasilnya konsisten: Ulangi Langkah 1 dan Langkah 2 dan ganti header di Langkah 2 hingga hasil yang tidak konsisten dikembalikan.

    • Jika hasilnya tidak konsisten: Catat header dan lanjutkan ke langkah berikutnya.

Langkah 2: Ubah konfigurasi server asal atau hapus header yang menyebabkan masalah

Setelah Anda menemukan header tertentu, Anda dapat menggunakan salah satu metode berikut untuk menyelesaikan masalah:

  • Ubah konfigurasi server asal. Periksa apakah ada konfigurasi yang mengembalikan konten berbeda berdasarkan header permintaan HTTP di server asal. Jika konfigurasi tersebut ada, ubah konfigurasi berdasarkan kebutuhan bisnis Anda.

  • Hapus header yang menyebabkan masalah di konsol Alibaba Cloud CDN. Jika header yang menyebabkan masalah tidak memiliki efek praktis pada layanan Anda, Anda dapat menghapus header di konsol Alibaba Cloud CDN. Untuk informasi tentang cara menghapus header permintaan, lihat Parameter Operasi Hapus.

Referensi

Bagian berikut menjelaskan header yang ditambahkan oleh POP.

Via: cn2XXX6.l1, vcache10.cnXXX36, l2cnXXX5.l2, cache28.lXXX35
Eagleeye-Traceid: 24689aa4XXXX58162753e
Ali-Swift-Log-Host: example.aliyundoc.com
Ali-Swift-Stat-Host: demo.example.aliyundoc.com
X-Forwarded-For: 58.XX.XX.41
X-Client-Scheme: http
Ali-Cdn-Real-Ip: 58.XX.XX.41
Ali-Swift-5Xx-No-Retry: on
Cdn-Src-Ip: 127.0.0.1
Ali-Swift-Range-Cache: on
Catatan

Bagian berikut menjelaskan header:

  • Via: informasi tentang POP yang dilewati oleh permintaan.

  • Ali-Cdn-Real-Ip: alamat IP klien yang mengirim permintaan.

  • Ali-Swift-Range-Cache: Jika Anda mengaktifkan fitur range origin fetch, POP menambahkan header ini. Untuk informasi lebih lanjut, lihat Range Origin Fetch.

  • X-Forwarded-For: bidang XFF HTTP standar.