全部产品
Search
文档中心

Object Storage Service:Bagaimana cara memperbaiki kesalahan 5xx yang dilaporkan untuk rute kembali ke asal?

更新时间:Jul 02, 2025

Deskripsi masalah

Ketika Anda menggunakan nama domain akselerasi untuk mengakses sumber daya, permintaan dikirim ke titik kehadiran (POPs) CDN Alibaba Cloud. Jika terjadi cache miss, permintaan dialihkan ke server asal. Jika kesalahan dilaporkan selama proses ini, kemungkinan besar penyebabnya adalah routing jaringan. Pengecualian pada rute kembali ke asal dapat menyebabkan kesalahan 5xx seperti 502 Bad Gateway, 503 Service Temporarily Unavailable, dan 504 Gateway Time-out.

Penyebab

Periksa bidang X-Swift-Error di header respons untuk informasi lebih lanjut tentang kesalahan 5xx. Bidang tersebut berisi informasi seperti forward retry timeout dan orig response 5xx error. Gunakan cURL atau tab Network di mode pengembang browser untuk memeriksa waktu respons.

  • Jika kesalahan 5xx terjadi secara global, kemungkinan penyebabnya adalah konfigurasi CDN Alibaba Cloud yang salah atau pengecualian server asal:

    • Server asal tidak dapat diakses atau nama domain server asal tidak dapat diselesaikan.

    • Rute kembali ke asal melalui HTTPS dikonfigurasikan di Alibaba Cloud CDN, tetapi server asal tidak mendukung HTTPS.

    • Server Name Indication (SNI) diaktifkan di server asal tetapi tidak diaktifkan di Alibaba Cloud CDN.

  • Jika kesalahan ini terjadi sesekali atau hanya di wilayah tertentu, kemungkinan besar disebabkan oleh kondisi jaringan di server asal atau faktor lainnya, seperti:

    • Kebijakan keamanan yang dikonfigurasikan di server asal memblokir alamat IP dari POPs.

    • Koneksi jaringan ke server asal tidak stabil, rute kembali ke asal tidak stabil, atau kecepatan respons antarmuka dinamis tidak stabil.

Solusi

Alibaba Cloud CDN adalah jaringan global POPs yang tersebar di seluruh dunia. CDN menyimpan cache sumber daya dari server asal ke POPs untuk mempercepat akses. Ketika permintaan pertama kali dikirim atau mengakses sumber daya yang kedaluwarsa di POPs, permintaan dialihkan ke server asal. Waktu respons server asal dan waktu hingga byte pertama (TTFB) sangat penting untuk proses rute kembali ke asal. Jika kesalahan 5xx dilaporkan, gunakan metode berikut untuk mendiagnosis masalah:

Skenario 1: Server asal adalah host lokal atau instance ECS

Jika server asal Anda adalah host lokal atau instance Elastic Compute Service (ECS), ikuti langkah-langkah berikut:

Langkah 1: Dapatkan Header Respons HTTP

Gunakan cURL atau Wget untuk mendapatkan header respons HTTP. Contoh berikut menunjukkan cara menggunakan perintah curl untuk mendapatkan header respons HTTP.

Catatan

Anda juga dapat menekan F12 untuk membuka alat pengembang browser dan pergi ke tab Network untuk menemukan URL tempat kesalahan 5xx dikembalikan.

curl -vo [$Nama_File] [$IP]
Catatan
  • [$Nama_File]: Nama file yang dibuat di direktori saat ini. Output situs web yang mengirim permintaan dicatat dalam file tersebut.

  • [$IP]: Alamat IP situs web yang mengirim permintaan.

Jika bidang respons X-Swift-Error memiliki nilai "orig response 5xx error" atau nilai serupa, waktu habis untuk rute kembali ke asal atau pemrosesan permintaan di server asal telah habis.

image.png

Periksa aspek-aspek berikut berdasarkan header respons HTTP yang diperoleh.

Langkah 2: Uji dan Analisis Kinerja Jaringan Berdasarkan Wilayah yang Terpengaruh

Gunakan Networkbench atau 17CE untuk memeriksa kinerja jaringan POPs. Gunakan metode pemecahan masalah yang berbeda berdasarkan wilayah tempat kesalahan terjadi:

  • Wilayah tunggal: Penyebab kesalahan mungkin terkait dengan koneksi antara POP dan server asal. Lakukan tes jaringan beberapa kali untuk memeriksa apakah koneksi jaringan dipulihkan. Jika kesalahan ini menyebabkan konsekuensi signifikan, catat header respons dan hubungi dukungan teknis Alibaba Cloud.

  • Beberapa wilayah: Jalankan perintah berikut untuk menguji kualitas koneksi antara klien dan server asal serta antara klien dan POPs.

    time telnet [$Test_IP] [$Test_Port]
    ping [$Test_IP]
    Catatan
    • Perintah pertama menanyakan waktu yang digunakan untuk menjalankan perintah telnet.

    • Perintah kedua menguji konektivitas jaringan.

    • [$Test_IP]: Alamat IP. Ini bisa menjadi alamat IP server asal atau alamat IP POP.

    • [$Test_Port]: Nomor port. Ini bisa menjadi nomor port server asal atau nomor port POP.

Langkah 3: Periksa Bandwidth dan QPS Nama Domain

Ikuti langkah-langkah berikut untuk memeriksa bandwidth dan QPS nama domain.

  1. Masuk ke Konsol Alibaba Cloud CDN.

  2. Di panel navigasi di sebelah kiri, pilih Content Delivery > Monitoring & Usage Analytics > Real-time Monitoring untuk memeriksa bandwidth kembali ke asal dan QPS terbaru. Lonjakan bandwidth atau QPS dapat menyebabkan waktu habis respons server asal.

  3. Dalam kasus lonjakan bandwidth kembali ke asal, periksa apakah sumber daya baru ditambahkan ke server asal atau apakah aturan cache dikonfigurasikan untuk sumber daya yang sering diakses. Jika bisnis Anda melibatkan sejumlah besar data game atau gambar, kami sarankan Anda menerapkan sumber daya ke Alibaba Cloud CDN sebelumnya dengan menggunakan fitur prefetch untuk mencegah hambatan kinerja di server asal yang disebabkan oleh lonjakan bandwidth rute kembali ke asal. Kami juga menyarankan Anda mengonfigurasi TTL waktu cache yang panjang untuk sumber daya yang sering diakses.

  4. Periksa apakah aturan cache dikonfigurasikan di Alibaba Cloud CDN dan server asal. Jika header respons no-cache dikonfigurasikan untuk server asal, itu akan mengambil alih konfigurasi cache di Alibaba Cloud CDN. Jika tidak ada aturan cache yang dikonfigurasikan untuk server asal dan POPs Alibaba Cloud CDN, TTL default adalah 10 hingga 3.600 detik. Untuk informasi lebih lanjut, lihat Apa itu caching?

    Jika Anda adalah pengguna baru Alibaba Cloud CDN atau tidak terbiasa dengan caching Alibaba Cloud CDN, kami sarankan Anda mengonfigurasi TTL maksimum untuk direktori dan mengonfigurasi kebijakan terpisah untuk sumber daya yang tidak memerlukan caching. Anda kemudian dapat menentukan prioritas untuk mengontrol pencocokan. Untuk informasi lebih lanjut, lihat Buat aturan cache untuk sumber daya.

Langkah 4: Periksa Konektivitas dan Resolusi Nama Domain Server Asal

POPs Alibaba Cloud CDN berada di Internet. Server asal harus terhubung ke Internet agar rute kembali ke asal berhasil. Jika alamat IP yang dikonfigurasikan untuk server asal tidak dapat diakses melalui Internet, port di server asal tidak dapat diakses, atau nama domain server asal tidak diselesaikan, kesalahan 5XX dilaporkan di server asal.

  1. Server asal tidak dapat diakses. Anda dapat menjalankan perintah ping untuk menguji konektivitas server asal.

    ping [$IP]
    Catatan

    [$IP] adalah alamat IP server asal.

  2. Port yang dikonfigurasikan di server asal tidak dapat diakses, atau server asal langsung mengembalikan kesalahan 5xx. Tes port menggunakan telnet mengembalikan kesalahan Connection timed out.

    1. Jika port 80 dikonfigurasikan di server asal, jalankan perintah berikut untuk menguji status port.

      telnet [$IP] 80
    2. Jika port 443 atau port kustom dikonfigurasikan di server asal, uji apakah port 443 atau port kustom dapat diakses.

    3. Dapatkan konfigurasi alamat IP dan port server asal di konsol Alibaba Cloud CDN dan gunakan file hosts lokal untuk memetakan alamat IP ke server asal. Lakukan pengujian Layer 7 untuk memeriksa apakah server asal gagal merespons atau langsung mengembalikan kesalahan 5xx. Sebagai alternatif, jalankan curl untuk menguji status port di server asal.

      • Jika port di server asal adalah port 80, jalankan curl -voa http://[$Domain] -x [$IP]:80.

        Catatan

        [$Domain] adalah nama domain akselerasi.

      • Jika port di server asal adalah port 443, jalankan curl -voa https://[$Domain] --resolve [$Domain]:443:[$IP].

  3. Jika nama domain server asal dikonfigurasikan di Alibaba Cloud CDN, tetapi resolusi nama domain tidak dikonfigurasikan, rute kembali ke asal gagal. Anda dapat menggunakan ping atau nslookup untuk menguji apakah nama domain server asal diselesaikan secara normal. Misalnya, jika melakukan ping ke nama domain example.aliyundoc.com server asal mengembalikan kesalahan unknown host atau menjalankan perintah nslookup untuk menanyakan catatan resolusi nama domain server asal mengembalikan server can't find example.aliyundoc.com: NXDOMAIN, nama domain server asal tidak diselesaikan. Untuk informasi lebih lanjut tentang cara mengonfigurasi resolusi nama domain, lihat Tambahkan catatan CNAME untuk nama domain.

Langkah 5: Periksa Konfigurasi Kembali ke Asal

Jika rute kembali ke asal melalui HTTPS dikonfigurasikan di Alibaba Cloud CDN, tetapi server asal tidak mendukung HTTPS, kesalahan 5xx dikembalikan untuk rute kembali ke asal. Gunakan metode berikut untuk mendiagnosis kesalahan berdasarkan skenario bisnis Anda.

  1. Port 443 dikonfigurasikan di server asal, tetapi server asal tidak mendukung HTTPS. Jika port untuk server asal adalah port 443 di halaman kembali ke asal konsol Alibaba Cloud CDN, rute kembali ke asal menggunakan HTTPS melalui port 443. Port 443 harus dibuka di server asal, dan server asal harus memiliki sertifikat HTTPS.

    • Jika server asal tidak mendukung HTTPS, server asal mengembalikan kesalahan 5xx, yang menunjukkan bahwa rute kembali ke asal gagal. Dalam hal ini, Anda perlu mengubah port kembali ke asal menjadi port 80.

    • Jika bisnis Anda memerlukan rute kembali ke asal melalui port 443, konfigurasikan sertifikat HTTPS untuk server asal.

  2. Rute kembali ke asal dikonfigurasikan untuk mengikuti protokol yang digunakan oleh klien, tetapi server asal tidak mendukung HTTPS. Jika rute kembali ke asal dikonfigurasikan untuk menggunakan HTTPS, Alibaba Cloud CDN menggunakan HTTPS untuk rute kembali ke asal. Jika protokol untuk rute kembali ke asal diatur ke Follow, dan klien menggunakan HTTPS untuk meminta sumber daya, Alibaba Cloud CDN menggunakan HTTPS untuk rute kembali ke asal. Jika server asal tidak mendukung HTTPS, terjadi kegagalan akses. Dalam hal ini, nonaktifkan rute kembali ke asal yang mengikuti protokol atau gunakan HTTP sebagai protokol untuk rute kembali ke asal.

  3. Gunakan perintah curl untuk menguji aksesibilitas server asal.

    curl -voa https://[$Domain] --resolve [$Domain]:443:[$IP]
  4. Anda juga dapat memodifikasi file hosts lokal untuk memetakannya ke server asal dan menggunakan browser untuk memulai permintaan HTTPS untuk menguji aksesibilitas server asal. Jika kesalahan Your connection is not private dikembalikan, akses melalui HTTPS tidak didukung oleh server asal.

Skenario 2: Aplikasi bisnis Anda menggunakan kombinasi Alibaba Cloud CDN dan OSS

Jika aplikasi bisnis Anda menggabungkan Alibaba Cloud CDN dan Object Storage Service (OSS), lakukan langkah-langkah berikut untuk mendiagnosis kesalahan:

  1. Gunakan opsi --probe-item dari alat ossutil untuk memeriksa apakah bandwidth keluar melebihi 10 Gbit/s dan apakah QPS melebihi 10.000. Jika batas dilampaui, pembatasan lalu lintas OSS dipicu, dan pemrosesan permintaan kembali ke asal di luar batas ditunda. Untuk informasi lebih lanjut tentang pembatasan lalu lintas, lihat Batas dan Metrik Kinerja.

    Catatan
    • Untuk informasi lebih lanjut tentang cara menggunakan opsi --probe-item di ossutil, lihat Lihat Opsi.

    • Permintaan kembali ke asal yang dikirim dalam kasus pembatasan lalu lintas OSS tidak mengembalikan kesalahan ketidaktersediaan. Mereka diproses secara tertunda.

  2. Periksa apakah lalu lintas keluar di Alibaba Cloud CDN melebihi batas bandwidth server asal. Jika server asal mencapai bandwidth maksimum, masalah lapisan jaringan dan aplikasi terjadi.

    Catatan
    • Anda dapat menggunakan alat iperf untuk memeriksa lalu lintas antara dua POPs.

    • Anda dapat menggunakan alat Netstat untuk memeriksa jumlah koneksi jaringan.

  3. Periksa apakah server asal memiliki batasan firewall. Secara khusus, periksa apakah server asal membatasi kecepatan atau alamat IP untuk permintaan kembali ke asal.

  4. Jika langkah-langkah pemecahan masalah sebelumnya tidak menunjukkan pengecualian apa pun, periksa log kesalahan Web server asal untuk pesan kesalahan 5xx. Jika tidak ada kesalahan yang dicatat dalam file log di lapisan aplikasi, uji koneksi dari server asal ke POPs untuk memeriksa kesalahan 5xx yang disebabkan oleh jitter jaringan. Proses pemeriksaan ini tunduk pada frekuensi kesalahan aktual dan status bisnis.

    Catatan

    Secara umum, jika server asal mudah mencapai bandwidth maksimum atau kehilangan paket atau latensi paket terjadi secara teratur, kami sarankan Anda meningkatkan nilai parameter send timeout atau read timeout di file nginx.conf.