HTTP Error 503 Service Unavailable: Artinya & Solusinya
Poin penting
503 Service Unavailable artinya server, atau lapisan di depannya (load balancer, CDN, atau proxy), tidak bisa memproses permintaan Anda saat ini: kelebihan beban, sedang maintenance, membatasi laju permintaan, atau tidak punya backend sehat untuk meneruskannya. Kondisi ini dimaksudkan sementara. Pengunjung hanya bisa menunggu dan mencoba lagi; pemilik website sebaiknya membaca pesan persisnya untuk tahu lapisan mana yang menjawab (nginx, Apache, IIS, HAProxy, Varnish, atau Cloudflare), lalu memeriksa log lapisan itu.
Periksa sekarang

Mulai membaca
- Apa Itu HTTP Error 503?
- Tampilan Error 503
- Penyebab Umum HTTP Error 503
- Solusi untuk Pengunjung: Yang Bisa Anda Lakukan
- Solusi 1: Cari Tahu Lapisan Mana yang Mengirim 503
- Solusi 2: Periksa Resource Server (CPU, RAM, Disk)
- Solusi 3: Periksa Error Log
- Solusi 4: Nonaktifkan Plugin dan Tema (WordPress / CMS)
- Solusi 5: Tingkatkan Batas PHP dan Server
- Solusi 6: Periksa CDN atau Load Balancer Anda
- Solusi 7: Periksa Serangan DDoS atau Bot
- Solusi 8: Perbaiki Masalah Koneksi Database
- Solusi 9: Hubungi Penyedia Hosting Anda
- 503 vs Error HTTP Lainnya
- Cara Mencegah Error 503
- Pertanyaan yang Sering Diajukan
Apa Itu HTTP Error 503?
503 Service Unavailable artinya server, atau sesuatu di depannya, tidak bisa memproses permintaan Anda saat ini: kelebihan beban, sedang maintenance, membatasi laju permintaan, atau tidak punya backend sehat untuk meneruskannya. RFC 9110 mendefinisikannya sebagai kondisi sementara yang kemungkinan besar akan hilang setelah beberapa waktu.
Server dapat menambahkan header Retry-After yang menyebutkan berapa lama harus menunggu. Berbeda dengan 500 yang berarti ada yang rusak, 503 berkata "jangan sekarang", itulah sebabnya website memakainya untuk maintenance terjadwal.
Sering kali yang menjawab bukan web server Anda, melainkan lapisan di depannya: load balancer seperti HAProxy, cache seperti Varnish, CDN seperti Cloudflare, atau Kubernetes ingress. Kalimat pesan yang persis menunjukkan yang mana (lihat di bawah).
Apakah situs down untuk semua orang? Cek sekarang
Tampilan Error 503
Pesan error menunjukkan lapisan mana yang menjawab. Berikut yang paling umum, beserta software yang menghasilkannya:
| Pesan | Pengirim | Biasanya berarti |
|---|---|---|
| 503 Service Temporarily Unavailable ("nginx" di bawahnya) | nginx (termasuk Kubernetes ingress-nginx) | Batas laju atau koneksi, aturan maintenance, atau (pada ingress) tidak ada pod yang siap untuk service |
| Service Unavailable · The server is temporarily unable to service your request due to maintenance downtime or capacity problems | Apache | mod_proxy tidak bisa menjangkau backend, atau ada konfigurasi maintenance |
| HTTP Error 503. The service is unavailable. | IIS (HTTP.sys) | Application pool situs berhenti atau antrean permintaannya penuh (log HTTPERR menyebut alasannya) |
| 503 Service Unavailable · No server is available to handle this request. | HAProxy | Tidak ada server backend yang bisa menerima permintaan (semuanya gagal health check, semuanya penuh sampai antrean habis waktu, atau koneksi ditolak) |
| Error 503 Backend fetch failed (Guru Meditation) | Varnish | Varnish tidak bisa mengambil halaman dari backend |
| Halaman 503 yang menyebut "cloudflare" | Cloudflare | Masalah di Cloudflare sendiri, atau Worker yang melewati batasnya |
| Error 503 (Service Unavailable)!!1 | Server Google | Layanan Google atau aplikasi yang di-host di Google kelebihan beban |
| Briefly unavailable for scheduled maintenance. Check back in a minute. (kira-kira: sementara tidak tersedia karena maintenance terjadwal, coba lagi dalam semenit) | WordPress | Pembaruan sedang berjalan (WordPress mengabaikan file .maintenance yang tertinggal setelah 10 menit) |
Apa pun kalimatnya, maknanya sama: permintaan ini tidak bisa dilayani saat ini, dan lapisan yang disebut di tabel adalah tempat untuk memeriksa.
Penyebab Umum HTTP Error 503
Alasan yang biasa membuat server atau lapisan di depannya mengembalikan 503:
- Kelebihan beban — batas CPU, memori, atau koneksi tercapai saat lonjakan traffic, postingan viral, atau crawler agresif
- Maintenance terjadwal — situs sengaja dimatikan untuk update atau migrasi; jika dilakukan dengan benar, disertai header Retry-After
- Tidak ada backend sehat — load balancer, proxy, atau ingress tidak punya server yang berfungsi untuk meneruskan permintaan (aplikasi crash, health check gagal, tidak ada pod yang siap)
- Batas laju dan koneksi —
limit_reqdanlimit_conndi nginx secara default membalas 503, sehingga klien atau crawler yang sibuk bisa memicunya - Aplikasi crash atau berhenti — PHP-FPM, Node.js, atau Python mati di belakang web server yang masih hidup; di IIS, application pool yang berhenti
- Batas resource hosting — shared hosting membatasi CPU, memori, dan jumlah proses per akun
- Plugin, tema, atau update — di WordPress dan CMS lain, update yang buruk bisa membuat aplikasi crash atau membuat situs terjebak di mode maintenance
- Serangan — DDoS atau banjir bot menghabiskan resource yang sama seperti lonjakan traffic
Solusi untuk Pengunjung: Yang Bisa Anda Lakukan
Jika Anda mengunjungi situs orang lain, masalahnya ada di pihak mereka. Yang bisa Anda lakukan:
- Tunggu lalu coba lagi — 503 dimaksudkan sementara; tunggu semenit lalu muat ulang sekali. Jika halaman menampilkan waktu Retry-After atau pesan maintenance, tunggu selama itu
- Cek apakah situs down untuk semua orang — Cek Website Down dari DNS Robot menguji situs dari luar jaringan Anda
- Lihat halaman status atau akun media sosial situs — maintenance terjadwal dan gangguan biasanya diumumkan
- Coba jaringan lain — jika situs terbuka lewat data seluler, berarti VPN atau proxy di jaringan biasa Anda yang membalas 503, atau situs membatasi alamat IP Anda
Solusi 1: Cari Tahu Lapisan Mana yang Mengirim 503
Sebelum me-restart apa pun, lihat pesan error dan header respons: keduanya menunjukkan lapisan mana yang menjawab. Periksa dari luar dengan Cek HTTP Header dari DNS Robot atau curl -sI, lalu lihat header server dan isi halaman (lihat tabel di atas).
Setelah itu restart lapisan yang bermasalah, bukan hanya web server:
# Restart Nginx
sudo systemctl restart nginx
# Restart Apache
sudo systemctl restart apache2 # Debian/Ubuntu
sudo systemctl restart httpd # CentOS/RHEL
# Restart PHP-FPM
sudo systemctl restart php8.2-fpm # Adjust version as needed
# Restart Node.js (PM2)
pm2 restart all
# Restart entire server (last resort)
sudo rebootJika 503 muncul lagi dalam beberapa menit setelah restart, penyebabnya masih ada: lanjut ke resource dan log.
Solusi 2: Periksa Resource Server (CPU, RAM, Disk)
Jika server kelebihan beban, restart hanya memberikan solusi sementara. Periksa apa yang mengonsumsi resource.
# Check CPU and memory usage
top -bn1 | head -20
# Check disk space
df -h
# Check memory in detail
free -m
# Check active connections
ss -s
# Find processes using the most memory
ps aux --sort=-%mem | head -10
# Find processes using the most CPU
ps aux --sort=-%cpu | head -10Jika CPU atau RAM mencapai 90%+, Anda perlu mengoptimalkan aplikasi, menghentikan proses yang tidak terkendali, atau meng-upgrade server. Jika disk space penuh, bersihkan file log, backup lama, atau file temporary.
Solusi 3: Periksa Error Log
Log menunjukkan persis mengapa 503 terjadi. Baca baris terbaru dengan perintah di bawah, lalu cari hal-hal berikut:
# Nginx error log
tail -50 /var/log/nginx/error.log
# Apache error log
tail -50 /var/log/apache2/error.log # Debian/Ubuntu
tail -50 /var/log/httpd/error_log # CentOS/RHEL
# PHP-FPM log
tail -50 /var/log/php8.2-fpm.log
# WordPress debug log (if WP_DEBUG_LOG is enabled)
tail -50 /var/www/html/wp-content/debug.log
# System log
tail -50 /var/log/syslog"limiting requests" atau "limiting connections" (nginx) — limit_req atau limit_conn menolak permintaan; hasilnya 503 kecuali Anda mengatur limit_req_status atau limit_conn_status.
"max_children" (PHP-FPM, mis. "server reached pm.max_children setting") — semua worker PHP sibuk: Apache membalas 503, sedangkan nginx membalas 502 atau 504.
"AH01114" / "failed to make connection to backend" (Apache mod_proxy) — Apache tidak bisa menjangkau backend dan membalas 503.
"Too many connections" (MySQL) — batas koneksi database habis.
"no live upstreams" dan "upstream timed out" milik nginx termasuk 502 Bad Gateway dan 504 Gateway Timeout, bukan 503.
Solusi 4: Nonaktifkan Plugin dan Tema (WordPress / CMS)
Di WordPress dan CMS lain, plugin yang berat bisa menghabiskan worker PHP atau batas resource hosting Anda sehingga muncul 503 (plugin yang crash justru menghasilkan 500). Jika 503 mulai muncul setelah update atau instalasi plugin, mulailah dari plugin itu.
Jika tidak bisa mengakses dashboard admin WordPress, nonaktifkan plugin lewat file system atau database.
# Disable all plugins by renaming the plugins folder
cd /var/www/html/wp-content
mv plugins plugins_disabled
# If the site loads, rename it back and re-enable plugins one by one
mv plugins_disabled plugins
# To disable a single plugin
mv plugins/problem-plugin plugins/problem-plugin.disabledSetelah menemukan plugin yang bermasalah, update, ganti dengan alternatif, atau hubungi pengembang plugin. Periksa juga apakah versi PHP Anda kompatibel: beberapa plugin rusak ketika server meng-upgrade PHP.
Terjebak di "Briefly unavailable for scheduled maintenance"? WordPress membuat file .maintenance di root situs saat update dan mengabaikannya setelah berumur lebih dari 10 menit. Hapus file itu agar situs kembali lebih cepat; jika pesan tetap muncul, cari file wp-content/maintenance.php atau salinan halaman yang di-cache.
Solusi 5: Tingkatkan Batas PHP dan Server
Jika server kehabisan PHP worker atau mencapai batas memori, Anda perlu meningkatkan batas di konfigurasi.
; PHP-FPM pool (e.g. /etc/php/8.2/fpm/pool.d/www.conf); the default ships with pm.max_children = 5
pm = dynamic
pm.max_children = 50
pm.start_servers = 10
pm.min_spare_servers = 5
pm.max_spare_servers = 20
pm.max_requests = 500
; php.ini (defaults: memory_limit = 128M, max_execution_time = 30)
memory_limit = 256M
max_execution_time = 300Restart PHP-FPM setelahnya (sudo systemctl restart php8.2-fpm, sesuai versi Anda) agar batas baru dimuat.
Solusi 6: Periksa CDN atau Load Balancer Anda
Jika Anda memakai Cloudflare, CDN lain, atau load balancer, 503 bisa berasal dari sana, bukan dari server Anda.
Aturan Cloudflare (panduan error 503-nya):
- Halaman berisi "cloudflare" atau "cloudflare-nginx" — Cloudflare yang membuatnya: periksa apakah ada Worker yang melewati batas CPU atau memori, lalu hubungi support Cloudflare dengan output
/cdn-cgi/trace - Tidak ada penanda Cloudflare — origin Anda yang mengembalikan 503 dan Cloudflare hanya meneruskannya: periksa log origin, dan tanyakan ke penyedia hosting apakah mereka membatasi alamat IP Cloudflare
Untuk HAProxy, load balancer cloud, atau Kubernetes ingress, periksa backend-nya: 503 di sana biasanya berarti tidak ada backend yang bisa menerima permintaan (pada AWS Application Load Balancer, target group belum punya target terdaftar). Cek DNS dari DNS Robot memastikan domain Anda masih mengarah ke tempat yang Anda harapkan.
Solusi 7: Periksa Serangan DDoS atau Bot
Lonjakan traffic mendadak dari bot atau serangan DDoS dapat membuat server kewalahan. Periksa access log untuk pola yang mencurigakan.
# Count requests per IP in the last 1000 lines
tail -1000 /var/log/nginx/access.log | awk '{print $1}' | sort | uniq -c | sort -rn | head -20
# Requests per minute (use -f1-4 for per second)
awk '{print $4}' /var/log/nginx/access.log | cut -d: -f1-3 | uniq -c | sort -rn | head -10
# Block an abusive IP (-I puts the rule first, before any ACCEPT rules)
sudo iptables -I INPUT -s 1.2.3.4 -j DROP
# Or in nginx's server block:
# deny 1.2.3.4;Jika satu alamat atau rentang kecil mengirim ribuan permintaan, blokir di firewall. Di belakang Cloudflare atau CDN lain, pastikan dulu log Anda menampilkan IP asli pengunjung (set_real_ip_from ditambah real_ip_header CF-Connecting-IP di nginx), kalau tidak Anda akan memblokir CDN, bukan penyerangnya. Untuk serangan besar, mode "I'm Under Attack" Cloudflare atau proteksi DDoS dari penyedia hosting menyaring traffic sebelum sampai ke Anda.
Solusi 8: Perbaiki Masalah Koneksi Database
Ketika database kehabisan koneksi atau berhenti, aplikasi di depannya bisa gagal. Sebagian aplikasi membalas 503; WordPress justru menampilkan "Error establishing a database connection". Periksa database secara langsung:
# Check if MySQL/MariaDB is running (the unit is mysqld on RHEL, mariadb for MariaDB)
sudo systemctl status mysql
# Restart MySQL
sudo systemctl restart mysql
# Check current connections vs limit
mysql -e "SHOW STATUS LIKE 'Threads_connected';"
mysql -e "SHOW VARIABLES LIKE 'max_connections';"
# Increase max connections (temporary)
mysql -e "SET GLOBAL max_connections = 200;"
# Check for long-running queries
mysql -e "SHOW PROCESSLIST;" | head -20Jika Anda melihat banyak koneksi sleeping, aplikasi Anda tidak menutup koneksi database dengan benar. Jika query yang berjalan lama memblokir query lain, optimalkan query tersebut atau hentikan untuk membuka blokir database.
Solusi 9: Hubungi Penyedia Hosting Anda
Jika Anda menggunakan shared hosting, managed WordPress hosting, atau platform seperti Squarespace, Wix, atau Shopify, Anda mungkin tidak memiliki akses ke server log atau kemampuan untuk me-restart layanan. Dalam kasus ini, 503 mungkin disebabkan oleh infrastruktur penyedia hosting.
Hubungi support penyedia hosting Anda dan berikan:
- URL persis yang mengembalikan 503
- Kapan error mulai terjadi — catat tanggal dan waktu
- Apa yang berubah — apakah Anda menginstal plugin, mengupdate tema, atau mengubah pengaturan DNS?
- Apakah error intermittent atau konstan — 503 intermittent menunjukkan batas resource; 503 konstan menunjukkan crash atau kesalahan konfigurasi
503 vs Error HTTP Lainnya
Error 503 sering tertukar dengan error server lainnya. Berikut perbedaannya.
| Kode Error | Nama | Arti | Sementara? |
|---|---|---|---|
| 500 | Internal Server Error | Server mengalami error tak terduga (bug, crash, salah konfigurasi) | Mungkin |
| 502 | Bad Gateway | Proxy/load balancer menerima respons tidak valid dari upstream server | Mungkin |
| 503 | Service Unavailable | Server atau lapisan di depannya tidak bisa menerima permintaan saat ini (kelebihan beban, maintenance, batas laju, tidak ada backend sehat) | Ya |
| 504 | Gateway Timeout | Proxy/load balancer tidak menerima respons dari upstream server tepat waktu | Mungkin |
| 520-530 | Cloudflare Errors | Error khusus Cloudflare untuk masalah koneksi origin | Bervariasi |
Perbedaan utama: 503 dimaksudkan sementara, dan header Retry-After bisa menyebut berapa lama. Untuk crawling, Google memperlakukan error 5xx dan 429 mirip: crawler-nya melambat, URL yang sudah terindeks dipertahankan beberapa waktu tetapi akhirnya dihapus jika error berlanjut (Google Search Central).
Untuk error di sisi proxy, lihat 502 Bad Gateway dan 504 Gateway Timeout; untuk batas laju, 429 Too Many Requests.
Cara Mencegah Error 503
Mencegah lebih baik daripada memperbaiki. Berikut praktik terbaik untuk menghindari error 503.
- Pantau resource server — Atur alert untuk CPU > 80%, RAM > 85%, dan disk > 90%. Tools seperti UptimeRobot, Pingdom, atau Grafana memberikan notifikasi instan.
- Gunakan CDN — Cloudflare, Fastly, atau AWS CloudFront meng-cache aset statis dan menyerap lonjakan traffic, mengurangi beban pada origin server.
- Aktifkan caching — Gunakan Redis, Memcached, atau Varnish untuk meng-cache query database dan halaman yang sudah di-render. Pengguna WordPress: instal plugin caching seperti WP Super Cache atau W3 Total Cache.
- Auto-scale — Jika Anda menggunakan cloud hosting (AWS, GCP, Azure, DigitalOcean), konfigurasi auto-scaling untuk menambah server saat lonjakan traffic.
- Rate limit bot — Konfigurasi Nginx atau Cloudflare untuk membatasi kecepatan crawler dan scraper agresif sebelum mereka membebani server.
- Optimalkan query database — query lambat menahan koneksi dan worker tetap terbuka. Tambahkan index, optimalkan join, dan cache hasilnya di Redis atau Memcached.
- Gunakan halaman maintenance yang tepat — Saat deployment, kembalikan 503 dengan header
Retry-Afteralih-alih membiarkan server crash. Ini menjaga SEO dan memberi informasi kepada pengguna. - Perbarui software — Update CMS, plugin, PHP, dan database ke versi stabil terbaru untuk menghindari bug dan masalah keamanan yang sudah diketahui.
Apakah Situs Down untuk Semua Orang?
Periksa website mana pun dari luar jaringan Anda dengan Website Down Checker gratis dari DNS Robot: kode status, waktu respons, dan apakah situs down untuk semua orang atau hanya untuk Anda.
Sumber
- RFC 9110 §15.6.4: 503 Service Unavailable, IETF
- Error 503, Cloudflare
- How HTTP status codes affect Google's crawlers, Google Search Central
- ngx_http_limit_req_module (limit_req_status), nginx
Pertanyaan yang Sering Diajukan
Apa arti 503 Service Unavailable?
Apakah error 503 bersifat sementara?
Bagaimana cara memperbaiki error 503 sebagai pengunjung?
Apa penyebab utama 503 Service Unavailable?
Apa penyebab 503 Service Temporarily Unavailable di nginx?
Apa arti "HTTP Error 503. The service is unavailable."?
Apa arti "No server is available to handle this request"?
Apakah error 503 merugikan SEO?
Apa perbedaan antara error 502 dan 503?
Bagaimana cara memperbaiki 503 di WordPress?
Artikel Terkait
Alat Terkait
Cek Website Down
Down untuk semua orang atau hanya Anda? Cek website apa pun dari 11 lokasi dan dari koneksi Anda sendiri, dengan screenshot langsung
Cek HTTP Header
Analisis header respons HTTP dan penilaian header keamanan
Cek DNS
Semua DNS record langsung dari nameserver domain, berdampingan dengan cache Google dan Cloudflare



