Server Hidup Tapi Layanan Mati? Ini Penyebab Nyata di Produksi

Diposting pada

Masalah paling menjengkelkan di server produksi bukan saat server mati total. Masalah justru muncul ketika server tetap hidup, ping lancar, SSH terbuka, tetapi layanan utama tidak bisa diakses. Website gagal terbuka, aplikasi berhenti merespons, dan dashboard kosong. Kondisi ini sering membuat admin salah arah.

Saya pernah mengalami kondisi ini di server produksi. Server berjalan normal. CPU ringan, RAM stabil, dan storage aman. Semua container Docker juga berjalan. Namun, layanan utama tidak merespons permintaan dari luar. Dari kejadian ini, saya menarik satu kesimpulan penting: status server tidak pernah menjamin layanan berjalan normal.

Alasan Server Hidup Tapi Layanan Mati

Kondisi ini sering muncul di server dengan banyak service, terutama server yang memakai Docker dan reverse proxy. Berikut penyebab yang paling sering saya temui langsung di lapangan.

Service di Dalam Container Berhenti Jalan

Docker hanya menjaga container tetap aktif. Docker tidak memeriksa apakah service di dalam container masih berjalan. Banyak admin tertipu oleh status container yang terlihat sehat, padahal proses utama sudah berhenti.

Kesalahan konfigurasi, environment variable keliru, atau aplikasi gagal start sering memicu kondisi ini. Admin harus mengecek proses secara langsung dari dalam container.

docker exec -it nama_container ps aux

Jika proses utama tidak muncul, layanan sudah berhenti walaupun container masih aktif.

Port Layanan Bertabrakan

Di server produksi, tabrakan port sering terjadi tanpa tanda jelas. Service baru gagal memakai port karena service lain sudah lebih dulu menggunakannya. Akibatnya, layanan tidak merespons walaupun container tetap berjalan.

Admin bisa memastikan kondisi port dengan perintah berikut.

ss -tulpen | grep LISTEN

Jika server sudah memakai port tersebut, layanan baru pasti gagal berjalan.

Reverse Proxy Salah Arah

Reverse proxy sering berjalan normal di permukaan, tetapi salah mengarahkan trafik ke backend. Kondisi ini muncul ketika container backend berada di network berbeda atau admin lupa memperbarui port backend.

Akibatnya, domain gagal terbuka walaupun backend tetap hidup.

DNS Internal Docker Bermasalah

Docker sangat bergantung pada DNS internal. Saat DNS gagal bekerja, layanan tidak bisa terhubung ke database atau API. Hal ini sering memicu loading lama lalu timeout.

Admin bisa menguji DNS langsung dari dalam container.

docker exec -it nama_container ping google.com

Jika DNS gagal resolve, layanan pasti ikut terganggu.

Firewall Memutus Akses Layanan

Firewall sering memblokir trafik tanpa peringatan jelas. Update sistem, install ulang Docker, atau rule lama yang tertinggal sering memicu masalah ini. Server tetap hidup, tetapi trafik tidak pernah sampai ke layanan.

Baca Juga:

Urutan Cek Paling Aman di Produksi

Saat layanan mati tetapi server tetap hidup, saya selalu memakai urutan cek berikut.

  1. Periksa service di dalam container
  2. Pastikan tidak ada tabrakan port
  3. Samakan network reverse proxy dan backend
  4. Uji DNS langsung dari container
  5. Periksa rule firewall dan iptables

Dengan urutan ini, admin biasanya menemukan sumber masalah tanpa perlu restart server.

Penutup

Status server hidup hanya menunjukkan mesin masih berjalan. Di server produksi, layanan harus bisa diakses tanpa gangguan. Karena itu, admin perlu memantau layanan, bukan hanya CPU dan RAM.

Jika user mulai komplain saat server terlihat sehat, jangan langsung reboot. Masalah hampir selalu muncul di level service.

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *