Cara Mengatasi Cloudflare Error 524 pada WordPress di VPS

Anda membuka situs WordPress, menunggu lama, lalu muncul halaman Error 524: A Timeout Occurred. Pesan ini sering disalahartikan sebagai “Cloudflare sedang down”, padahal artinya lebih spesifik: Cloudflare berhasil terhubung ke server Anda, tetapi server tidak mengirim respons sebelum batas waktu habis.

Jawaban Singkat

Error 524 hampir selalu masalah di server asal (origin), bukan di Cloudflare. Perbaiki proses yang lambat atau macet di VPS — kueri database berat, plugin yang menggantung, PHP-FPM kehabisan worker, atau server kehabisan RAM/CPU — dan 524 akan hilang. Menaikkan timeout saja tanpa memperbaiki penyebabnya hanya menunda error.

Apa Arti Error 524?

Menurut dokumentasi Cloudflare, Error 524 terjadi ketika origin mengakui permintaan tetapi tidak memberi respons HTTP dalam batas Proxy Read Timeout default 125 detik. Ada juga batas tulis 30 detik untuk penulisan data ke origin. Jadi, koneksi berhasil, tetapi jawabannya tidak kunjung datang.

GejalaKemungkinan penyebabPemeriksaan pertama
524 hanya di satu halaman berat (ekspor, laporan)Proses berjalan lebih dari 125 detikCek durasi proses dan log PHP
524 di semua halamanPHP-FPM mati, MySQL down, atau server overloadsystemctl status php*-fpm nginx mysql
524 kadang-kadang, saat trafik tinggiWorker PHP habis atau RAM penuhfree -h, top, log PHP-FPM
524 setelah instal plugin/tema baruPlugin menggantung atau konflikNonaktifkan plugin terakhir, cek debug.log

Persiapan Sebelum Memperbaiki

  • Catat kapan 524 mulai muncul: setelah update, setelah migrasi, atau saat trafik naik. Pola waktu adalah petunjuk diagnosis terbaik.
  • Buat backup database dan file WordPress sebelum mengubah konfigurasi server.
  • Pastikan Anda punya akses SSH ke VPS dan akses dashboard Cloudflare.

Langkah 1: Pastikan Server Asal Masih Hidup

Masuk lewat SSH dan periksa layanan inti:

sudo systemctl status nginx
sudo systemctl status php8.3-fpm
sudo systemctl status mysql

Sesuaikan versi PHP dengan yang terpasang di server Anda (misalnya php8.2-fpm). Jika ada layanan yang failed atau inactive, lihat lognya sebelum me-restart membabi buta:

sudo journalctl -u php8.3-fpm -n 100 --no-pager
sudo tail -n 100 /var/log/nginx/error.log

Langkah 2: Cari Proses yang Lambat atau Macet

Periksa beban server dan proses yang memakan CPU/RAM:

free -h
top -o %CPU
sudo tail -n 100 /var/log/php/8.3/fpm.log

Jika log PHP-FPM menunjukkan antrean penuh (server reached pm.max_children), itu tanda worker habis. Jangan langsung menaikkan pm.max_children tanpa menghitung RAM: setiap worker memakan memori, dan menaikkan terlalu tinggi justru membuat server kehabisan RAM dan semakin lambat.

Langkah 3: Periksa WordPress-nya, Bukan Hanya Servernya

  1. Aktifkan log debug sementara (bukan tampil di layar) di wp-config.php, sebelum baris That's all, stop editing!:
    define( 'WP_DEBUG', true );
    define( 'WP_DEBUG_LOG', true );
    define( 'WP_DEBUG_DISPLAY', false );
  2. Muat ulang halaman yang bermasalah, lalu baca wp-content/debug.log. Baris terakhir biasanya menunjuk file dan baris penyebab fatal error.
  3. Nonaktifkan plugin terakhir yang dipasang sebelum 524 muncul. Bila tidak bisa masuk wp-admin, ganti nama folder plugin lewat SSH/SFTP.
  4. Periksa kueri berat: plugin statistik, pencarian, atau ekspor data besar sering menjadi penyebab proses lebih dari 125 detik.
  5. Matikan debug kembali setelah selesai, agar jalur file tidak terekspos ke publik.

Langkah 4: Pindahkan Proses Panjang dari Jalur HTTP

Dokumentasi Cloudflare menyarankan langkah ini secara eksplisit: proses HTTP yang rutin memakan waktu lebih dari 125 detik sebaiknya tidak dijalani lewat halaman web biasa. Pilihan yang lebih sehat:

  • Jalankan ekspor/laporan besar lewat WP-CLI atau cron server, lalu unduh hasilnya setelah selesai.
  • Gunakan pola status polling: halaman memicu pekerjaan latar, lalu memeriksa statusnya secara berkala.
  • Untuk proses yang memang harus lewat web, letakkan di subdomain DNS-only (tidak diproksi Cloudflare) bila memungkinkan.

Verifikasi Hasil

Perbaikan dinyatakan berhasil bila:

  • Halaman yang sebelumnya 524 kini memuat dalam waktu normal tanpa error.
  • Log Nginx dan PHP-FPM tidak lagi menunjukkan timeout pada URL yang sama.
  • Beban CPU/RAM kembali normal saat halaman diakses berulang.

Uji dari dua sisi: lewat browser (mode privat, agar cache tidak menipu) dan lewat SSH dengan curl -I ke server asal.

Troubleshooting Lanjutan

Jika masih 524Langkah berikutnya
Semua halaman tetap timeoutPeriksa MySQL: apakah layanan berjalan dan disk tidak penuh (df -h)
Hanya wp-admin yang timeoutCurigai plugin admin/keamanan; nonaktifkan satu per satu
524 hilang lalu kembali saat trafik naikTinjau kapasitas VPS dan optimasi cache; pertimbangkan upgrade sumber daya
Proses memang butuh lebih dari 125 detikPindahkan ke pekerjaan latar (lihat Langkah 4); pelanggan Enterprise dapat menaikkan timeout lewat Cache Rule

FAQ

Apakah Error 524 berarti Cloudflare down?

Tidak. 524 berarti Cloudflare berhasil terhubung ke origin, tetapi origin tidak merespons tepat waktu. Fokus perbaikan ada di server Anda.

Apakah menaikkan timeout di Nginx menyelesaikan 524?

Tidak selalu. Timeout Cloudflare (125 detik) tetap berlaku di sisi Cloudflare. Mempercepat origin jauh lebih efektif daripada sekadar menaikkan timeout lokal.

Apa bedanya 524 dengan 525 dan 526?

524 adalah timeout respons origin. 525 adalah kegagalan handshake SSL, sedangkan 526 adalah sertifikat origin yang tidak valid untuk mode Full (strict). Diagnosisnya berbeda, jadi jangan tertukar.

Kesimpulan

Error 524 adalah sinyal bahwa server asal Anda terlalu lambat atau macet, bukan vonis atas Cloudflare. Mulai dari status layanan, beban server, dan log WordPress; perbaiki penyebab lambatnya, pindahkan proses panjang dari jalur HTTP, lalu verifikasi lewat log dan pengujian ulang. Bila 524 hanya muncul di satu proses berat, pekerjaan latar hampir selalu jawaban yang benar.

Referensi

Cookie Consent