Cloudflare Error 520: Arti dan Cara Mengatasinya

Advertisement
Apa Itu Cloudflare Error 520?
Error 520 adalah salah satu kode status milik Cloudflare sendiri. Halamannya bertuliskan "Web server is returning an unknown error" dengan Error code 520, sebuah Ray ID, dan tiga kotak: browser Anda (berfungsi), Cloudflare (berfungsi), dan host (error).
Dokumentasi Cloudflare mendefinisikannya sebagai: "the origin server returns an empty, unknown, or unexpected response to Cloudflare", yaitu server origin mengembalikan respons yang kosong, tidak dikenal, atau tidak terduga ke Cloudflare. Dengan kata lain, Cloudflare sudah tersambung ke server asli situs (origin), tetapi yang kembali bukan respons HTTP valid yang bisa diteruskan: tanpa kode status, balasan kosong, koneksi yang direset, atau sesuatu yang tidak bisa diurai.
520 adalah kode serba guna. Cloudflare memakai kode yang lebih spesifik jika bisa mengetahui apa yang salah (koneksi ditolak, timeout, kegagalan SSL), jadi 520 berarti origin menjawab dengan cara yang tidak bisa diklasifikasikan oleh Cloudflare.
Error 520 vs 521, 522, 523, 524, 525, dan 526
Semua kode 52x dari Cloudflare menggambarkan masalah di antara Cloudflare dan origin. Angkanya memberi tahu Anda di mana harus mencari:
| Kode | Teks di halaman | Apa yang terjadi |
|---|---|---|
| 520 | Web server is returning an unknown error | Respons kosong, tidak dikenal, atau tidak terduga dari origin |
| 521 | Web server is down | Origin menolak koneksi |
| 522 | Connection timed out | Cloudflare tidak bisa menyelesaikan koneksi ke origin |
| 523 | Origin is unreachable | Tidak ada rute ke origin (periksa IP origin di DNS) |
| 524 | A timeout occurred | Sudah tersambung, tetapi origin tidak menjawab tepat waktu |
| 525 | SSL handshake failed | Handshake HTTPS dengan origin gagal |
| 526 | Invalid SSL certificate | Sertifikat origin tidak valid untuk mode Full (strict) |
Jika halamannya menampilkan 502 atau 504 biasa, lihat 502 Bad Gateway dan 504 Gateway Timeout. Untuk 521 dan 522, periksa dari luar apakah port 443 atau 80 origin menerima koneksi dengan Port Checker. Untuk 525 dan 526, SSL Checker menampilkan sertifikat origin, dan ERR_SSL_VERSION_OR_CIPHER_MISMATCH membahas masalah versi TLS dan cipher.
Advertisement
Apa Penyebab Error 520?
Cloudflare mencantumkan penyebab berikut dalam dokumentasi troubleshooting-nya:
Server origin crash atau salah konfigurasi, misalnya proses PHP atau Node yang mati di tengah permintaan.
Firewall atau plugin keamanan memblokir IP Cloudflare di origin, sehingga koneksi diputus alih-alih dijawab.
Header respons melebihi 128 KB, sering karena cookie yang terlalu banyak atau terlalu besar.
Respons kosong atau rusak tanpa kode status HTTP atau body.
Header respons yang hilang, atau origin yang tidak mengembalikan respons error HTTP yang semestinya.
Konfigurasi HTTP/2 yang keliru di origin saat HTTP/2 to Origin diaktifkan.
Authenticated Origin Pulls aktif di Cloudflare sementara origin belum disiapkan untuk itu.
Jika Anda Pengunjung
Anda tidak bisa memperbaiki server situs, tetapi ada dua hal yang layak dicoba. Muat ulang setelah satu menit, karena 520 yang disebabkan crash atau restart bisa hilang dengan sendirinya. Lalu hapus cookie situs tersebut: jika penyebabnya header yang terlalu besar akibat cookie, menghapus cookie situs itu (ikon di sebelah kiri bilah alamat → Cookie dan data situs (Cookies and site data)) bisa mengatasinya untuk Anda.
Jika tetap gagal, beri tahu pemilik situs dan sertakan Ray ID dari bagian bawah halaman error, agar mereka bisa menemukan permintaan Anda yang persis di Cloudflare.
Advertisement
Solusi 1: Baca Log Error Server Origin
Rekomendasi pertama Cloudflare adalah memeriksa log origin pada waktu error terjadi. Crash, proses yang dimatikan karena kehabisan memori, dan koneksi yang direset akan tercatat di sana:
sudo tail -n 50 /var/log/nginx/error.log # atau /var/log/apache2/error.log
journalctl -u your-app --since "15 min ago" # log layanan aplikasi
pm2 logs --lines 50 # aplikasi Node di bawah PM2
dmesg -T | grep -i "killed process" # proses yang dimatikan karena kehabisan memoriSolusi 2: Uji Origin Tanpa Cloudflare
Minta halamannya langsung dari origin, melewati Cloudflare, lalu lihat respons mentahnya. Dengan curl, Anda bisa mengarahkan hostname ke IP origin untuk satu permintaan saja:
# Ganti 203.0.113.10 dengan IP server origin Anda
curl -sv --resolve example.com:443:203.0.113.10 https://example.com/broken-page -o /dev/null
# Yang dicari: status line "HTTP/1.1 200" (atau HTTP/2 200) yang normal beserta header-nya.
# "Empty reply from server" atau "Connection reset by peer" di sini berarti 520 berhasil direproduksi.Cloudflare juga menyarankan solusi sementara: ubah record DNS menjadi DNS only (awan abu-abu) atau jeda Cloudflare, agar pengunjung langsung mencapai origin selama Anda menyelidiki. Ingat bahwa cara ini membuka IP origin Anda. DNS Lookup dari DNS Robot menampilkan IP mana yang saat ini terlihat oleh dunia untuk domain Anda, dan alat HTTP Headers menampilkan header server: cloudflare dan cf-ray jika lalu lintas melewati Cloudflare.
Advertisement
Solusi 3: Izinkan Rentang IP Cloudflare di Origin
Semua lalu lintas pengunjung mencapai origin Anda dari rentang IP Cloudflare, sehingga firewall, jail fail2ban, atau plugin keamanan yang membatasi atau memblokir IP "mencurigakan" bisa berakhir memblokir Cloudflare itu sendiri. Izinkan rentang yang dipublikasikan di https://www.cloudflare.com/ips/ di firewall dan plugin keamanan Anda, dan pastikan web server membaca IP pengunjung yang sebenarnya dari header CF-Connecting-IP agar rate limit berlaku untuk pengunjung, bukan untuk Cloudflare.
Solusi 4: Jaga Header Respons Tetap di Bawah 128 KB
Cloudflare menolak respons origin yang header-nya melebihi 128 KB, dan cookie adalah penyebab yang paling umum. Periksa berapa banyak header Set-Cookie yang dikirim sebuah halaman dan seberapa besar ukurannya. Hapus cookie yang tidak lagi diperlukan, jaga cookie sesi tetap kecil, dan hindari aplikasi atau plugin yang menulis data besar ke dalam cookie.
Advertisement
Solusi 5: Periksa HTTP/2 to Origin dan Authenticated Origin Pulls
HTTP/2 to Origin: jika fitur ini aktif di Cloudflare (di pengaturan Speed) tetapi pengaturan HTTP/2 di origin bermasalah, respons bisa gagal dengan 520. Cloudflare menyarankan memeriksa konfigurasi HTTP/2 di origin, atau mematikan HTTP/2 to Origin untuk memastikannya.
Authenticated Origin Pulls: jika fitur ini aktif di Cloudflare, origin harus dikonfigurasi untuk menerima sertifikat klien Cloudflare. Jika belum, matikan fiturnya atau selesaikan penyiapan di origin.
Solusi 6: Apa yang Dikirim ke Cloudflare Support
Jika origin terlihat sehat tetapi 520 terus muncul, Cloudflare meminta:
URL lengkap tempat error terjadi.
ID cf-ray dari halaman error.
Output dari
http://yourdomain.com/cdn-cgi/trace.Dua file HAR (DevTools → Network (Jaringan) → ekspor), satu dengan Cloudflare aktif dan satu lagi dengan Cloudflare nonaktif.
Cek apakah sebuah situs berada di balik Cloudflare
HTTP Headers Checker dari DNS Robot menampilkan kode status, header server, dan ID cf-ray untuk URL apa pun, sehingga Anda bisa memastikan 520 dan apakah Cloudflare berada di depan situs.
Coba HTTP Headers CheckerAdvertisement
Pertanyaan yang Sering Diajukan
Ini adalah error Cloudflare yang berarti server origin situs mengembalikan respons kosong, tidak dikenal, atau tidak terduga ke Cloudflare. Browser Anda dan Cloudflare berfungsi; server origin-lah yang tidak menjawab dengan benar.