---
title: "Penyebab Website Error 503 dan Cara Mengatasinya"
description: "Error 503 Service Unavailable berarti server sedang tidak sanggup melayani. Kenali penyebab umumnya, cara memastikan dari log, dan langkah perbaikannya."
url: "https://nivelva.com/insight/penyebab-website-error-503-cara-mengatasinya"
category: "Server \u0026 Infrastruktur"
tags: ["error 503","service unavailable","troubleshooting","nginx","apache"]
author: "Theresia Candiawan"
published: "2026-11-07T10:47:00+07:00"
updated: "2026-11-07T10:47:00+07:00"
language: "id"
publisher: "Nivelva (https://nivelva.com)"
---

# Penyebab Website Error 503 dan Cara Mengatasinya

> **Jawaban singkat:** Error 503 berarti server atau perantaranya sementara tidak bisa melayani permintaan. Penyebab umumnya mode maintenance, beban berlebih atau batas resource hosting, backend aplikasi mati di belakang Apache atau load balancer, dan pembatasan request di Nginx.

Error 503 Service Unavailable artinya server menerima permintaanmu, tetapi untuk sementara tidak sanggup melayaninya.

Kata kuncinya adalah **sementara**. Menurut standar HTTP (RFC 9110), 503 dipakai saat server kelebihan beban atau sedang dalam perawatan, dan kondisinya diharapkan pulih. Server bahkan boleh menyertakan header `Retry-After` untuk memberi tahu kapan sebaiknya mencoba lagi. Masalahnya, "sementara" bisa berlangsung berjam-jam kalau penyebabnya tidak ditemukan, dan selama itu pengunjung serta mesin pencari melihat website yang tidak bisa dibuka.

## Siapa sebenarnya yang mengirim error 503?

Ini pertanyaan pertama yang perlu dijawab, karena 503 bisa datang dari beberapa lapisan:

- **Aplikasi itu sendiri**, misalnya WordPress saat mode maintenance.
- **Web server** seperti Nginx (saat membatasi request) atau Apache (saat backend di belakangnya tidak bisa dihubungi).
- **Load balancer atau ingress**, misalnya HAProxy atau ingress Kubernetes, ketika tidak ada server sehat yang bisa menerima permintaan.
- **Hosting atau CDN** di depan server, yang biasanya menampilkan halaman error dengan logo dan gaya mereka sendiri.

Lihat tampilan halaman error-nya. Halaman polos bertuliskan nama web server (misalnya "nginx" di bagian bawah) menunjuk ke servermu. Halaman bergaya CDN biasanya menjelaskan apakah masalah ada di jaringan mereka atau di server asal. Pesan "Briefly unavailable for scheduled maintenance" jelas berasal dari WordPress.

## Penyebab umum dan cara memastikannya

| Penyebab | Ciri yang terlihat | Cara memastikan |
|:--|:--|:--|
| Mode maintenance aplikasi | Pesan maintenance, muncul setelah update | Cek file `.maintenance` di folder WordPress |
| Server kelebihan beban | Muncul saat trafik ramai, hilang saat sepi | `uptime`, `free -h`, grafik CPU dan RAM |
| Batas resource hosting | Terjadi di shared hosting saat jam sibuk | Menu resource usage di panel hosting |
| Backend mati di belakang Apache | Semua halaman dinamis 503, file statis normal | Log error Apache, status PHP-FPM atau aplikasi |
| Pembatasan request Nginx | Hanya sebagian pengunjung kena, sering IP yang sama | Pesan "limiting requests" di error.log Nginx |
| Tidak ada backend sehat di load balancer | 503 dari HAProxy atau ingress | Status health check backend |

### 1. Mode maintenance yang tertinggal

Saat WordPress memperbarui inti, tema, atau plugin, ia membuat file `.maintenance` di folder utama dan menampilkan halaman maintenance dengan status 503. Kalau proses update terputus, file itu bisa tertinggal dan website terus menampilkan pesan yang sama. Hapus file `.maintenance` lewat File Manager atau SSH, lalu pastikan update yang terputus diselesaikan. Cara update yang lebih aman dibahas di [update WordPress tanpa error](https://nivelva.com/insight/update-wordpress-tanpa-error).

### 2. Server kehabisan tenaga

Saat CPU penuh, RAM habis, atau jumlah worker PHP sudah terpakai semua, server tidak bisa menerima pekerjaan baru. Jalankan `uptime` untuk melihat load average dan `free -h` untuk melihat sisa memori. Kalau angkanya selalu tinggi saat error muncul, kamu sedang berhadapan dengan masalah kapasitas, bukan konfigurasi. Batas wajar tiap metrik ada di artikel [metrik server yang wajib dipantau](https://nivelva.com/insight/metrik-server-wajib-dipantau).

Di shared hosting, gejala serupa sering muncul sebagai batas resource akun. Sebagian hosting menampilkannya sebagai 503, sebagian lagi sebagai [error 508 Resource Limit Reached](https://nivelva.com/insight/penyebab-error-508-resource-limit-reached-solusinya).

### 3. Backend tidak bisa dihubungi Apache

Kalau Apache meneruskan permintaan ke PHP-FPM atau aplikasi lain lewat mod_proxy, lalu backend itu mati, Apache menjawab 503. Buka log error (`/var/log/apache2/error.log` di Ubuntu dan Debian, `/var/log/httpd/error_log` di AlmaLinux) dan cari pesan tentang kegagalan koneksi ke backend. Lalu cek layanannya, misalnya `systemctl status php8.3-fpm` (nama layanan menyesuaikan versi PHP dan distribusi).

Perlu dicatat, di Nginx kondisi yang sama biasanya menghasilkan 502, bukan 503. Penjelasannya ada di artikel [error 502 Bad Gateway](https://nivelva.com/insight/error-502-bad-gateway).

### 4. Pembatasan request di Nginx

Modul `limit_req` dan `limit_conn` di Nginx secara bawaan menolak permintaan berlebih dengan status 503. Ini sebenarnya fitur pelindung, tapi aturan yang terlalu ketat bisa mengenai pengunjung biasa, terutama yang berbagi IP di jaringan kantor atau seluler. Cari baris `limiting requests` atau `limiting connections` di `/var/log/nginx/error.log`. Kalau banyak, longgarkan nilai `rate` atau `burst`, atau ubah status penolakan dengan `limit_req_status 429` supaya lebih mudah dibedakan dari error lain.

### 5. Load balancer tidak menemukan server sehat

Di arsitektur dengan load balancer, 503 muncul saat semua backend gagal health check. Penyebabnya bisa aplikasi memang mati, health check mengarah ke URL yang salah, atau port aplikasi berubah setelah deploy. Periksa status backend di dasbor atau log load balancer.

## Bagaimana menanganinya dengan urutan yang benar?

Urutan berikut menghemat waktu karena dimulai dari yang paling murah dicek:

1. Tentukan lapisan pengirim 503 dari tampilan halaman error.
2. Baca log error di lapisan itu, cocokkan waktunya dengan saat error muncul.
3. Cek resource server: load average, RAM, disk, dan jumlah worker.
4. Cek status layanan backend (PHP-FPM, aplikasi Node atau Python, database).
5. Baru lakukan perubahan, satu per satu, sambil memantau apakah error hilang.

> **Jangan langsung restart:**
>
> Restart memang sering membuat 503 hilang sesaat, tetapi juga menghapus jejak penyebabnya. Simpan dulu potongan log dan catat kondisi resource sebelum me-restart layanan apa pun.

## Apakah 503 merusak SEO?

Kalau sebentar, tidak terlalu. Status 503 justru cara yang benar untuk memberi tahu mesin pencari bahwa gangguan bersifat sementara, sehingga halaman tidak langsung dianggap hilang. Yang berbahaya adalah 503 yang berlangsung lama atau berulang setiap hari. Karena itu, untuk maintenance terencana, tampilkan halaman maintenance dengan status 503 dan header `Retry-After`, dan jangan halaman biasa berstatus 200 yang isinya "sedang perbaikan".

## Kapan perlu menambah kapasitas server?

Kalau log menunjukkan 503 selalu muncul bersamaan dengan CPU atau RAM penuh, dan optimasi seperti cache halaman sudah dilakukan, besar kemungkinan server memang sudah terlalu kecil untuk trafikmu. Pada titik ini, menaikkan spesifikasi atau memindahkan website ke server dengan resource khusus lebih masuk akal daripada terus menambal konfigurasi.

## Pertanyaan yang sering diajukan

### Apakah error 503 berarti website saya diretas?

Tidak secara langsung. 503 adalah tanda server tidak sanggup melayani. Namun lonjakan trafik dari bot atau serangan bisa menjadi penyebab beban berlebih, jadi tetap periksa log akses bila trafik naik tanpa alasan jelas.

### Kenapa error 503 hanya muncul di HP saya, sedangkan teman bisa membuka website?

Kemungkinan IP kamu terkena pembatasan request atau aturan firewall. Coba dari jaringan lain dan minta admin mencari IP kamu di log error.

### Apa beda 503 dengan 500?

500 berarti terjadi kesalahan di dalam aplikasi saat memproses permintaan, misalnya kode PHP error. 503 berarti server memilih tidak melayani untuk sementara karena sedang sibuk, maintenance, atau backend tidak tersedia.

## Sumber

- <https://www.rfc-editor.org/rfc/rfc9110#name-503-service-unavailable>
- <https://nginx.org/en/docs/http/ngx_http_limit_req_module.html>
- <https://httpd.apache.org/docs/2.4/mod/mod_proxy.html>

---

Diterbitkan oleh Nivelva Insight (https://nivelva.com/insight/). Artikel ini: https://nivelva.com/insight/penyebab-website-error-503-cara-mengatasinya
Kontak Nivelva: WhatsApp https://wa.me/6285111245007, email hello@nivelva.com
