Server Solusi – Ketika mencoba mengakses website, VPS, atau server melalui SSH, terkadang koneksi berhenti begitu saja tanpa memberikan respons. Setelah menunggu beberapa detik, muncul pesan seperti Connection timed out atau ERR_CONNECTION_TIMED_OUT.
Masalah ini cukup mengganggu karena kamu tidak selalu bisa mengetahui apakah server sedang mati, firewall memblokir koneksi, atau jaringan mengalami gangguan.
Saya menyarankan agar kamu tidak langsung melakukan restart VPS ketika menghadapi kondisi seperti ini. Connection timeout bisa terjadi pada beberapa lapisan jaringan, sehingga penyebabnya perlu ditemukan terlebih dahulu.
Dalam panduan ini, saya akan membahas cara mengidentifikasi sumber masalah menggunakan perintah Linux, pemeriksaan firewall, pengujian port, hingga analisis koneksi jaringan.
Apa Penyebab Connection Timed Out ke Server?
Connection timed out terjadi ketika koneksi menuju server tidak mendapatkan respons yang diperlukan dalam batas waktu tertentu. Penyebabnya bisa berasal dari firewall yang membuang paket koneksi, service yang tidak merespons, masalah routing, IP tujuan yang salah, atau gangguan jaringan.
Beberapa pemeriksaan awal yang perlu dilakukan adalah:
Memastikan alamat IP dan port tujuan benar.
Memeriksa apakah server masih dapat dijangkau.
Menguji koneksi TCP ke port tujuan.
Memeriksa firewall pada server dan provider VPS.
Memeriksa status service yang menerima koneksi.
Menganalisis paket jaringan jika penyebabnya belum ditemukan.
Hal penting yang perlu dipahami adalah bahwa timeout tidak selalu berarti server mati. Server bisa saja berjalan normal, tetapi koneksi dari jaringan tertentu tidak berhasil mencapai service yang dituju.
Mengenali Jenis Connection Timeout
Sebelum menjalankan perintah troubleshooting, perhatikan terlebih dahulu di mana pesan timeout muncul.
Tidak semua connection timeout memiliki penyebab yang sama.
A. Connection Timed Out Saat Mengakses Website
Misalnya, ketika membuka website melalui browser, muncul pesan:
This site can't be reachedexample.com took too long to respond.ERR_CONNECTION_TIMED_OUTPesan tersebut menunjukkan bahwa browser tidak memperoleh respons koneksi sesuai waktu yang diharapkan.
Kemungkinan penyebabnya:
Web server tidak merespons.
Firewall memblokir koneksi HTTP atau HTTPS.
Baca JugaPort 443 Tidak Bisa Diakses dari Luar VPS? Ini Cara Diagnosis dan Memperbaikinya![Port 443 Tidak Bisa Diakses dari Luar VPS? Ini Cara Diagnosis dan Memperbaikinya]()
Port 80 atau 443 tidak dapat dijangkau.
DNS mengarah ke IP yang salah.
Routing jaringan mengalami gangguan.
VPS mengalami overload sehingga tidak mampu menangani koneksi.
Jika website menggunakan Nginx, Apache, atau OpenLiteSpeed, pemeriksaan sebaiknya dimulai dari port listening dan status service.
B. Connection Timed Out Saat Mengakses SSH
Contoh pesan:
ssh: connect to host 203.0.113.10 port 22:Connection timed outBerbeda dengan error autentikasi SSH, pesan tersebut menunjukkan bahwa koneksi TCP menuju port SSH belum berhasil terbentuk.
Beberapa kemungkinan penyebabnya:
Port SSH diblokir firewall.
Provider VPS membatasi akses SSH.
SSH menggunakan port selain 22.
Service SSH tidak berjalan atau tidak mendengarkan alamat yang dituju.
IP publik VPS tidak dapat dijangkau.
Jaringan asal memblokir koneksi keluar.
Dalam kondisi ini, mengganti password SSH biasanya tidak menyelesaikan masalah karena proses autentikasi belum tentu dimulai.
C. Connection Timed Out Saat Mengakses API atau Database
Timeout juga dapat terjadi ketika aplikasi mencoba terhubung ke service lain.
Contohnya:
WordPress mengakses database remote.
Aplikasi PHP memanggil REST API.
Server melakukan koneksi ke SMTP.
Aplikasi mengakses Redis atau MySQL melalui jaringan.
Jika hanya satu aplikasi yang mengalami timeout, jangan langsung menganggap seluruh VPS bermasalah.
Periksa terlebih dahulu alamat tujuan, port, DNS, dan koneksi dari proses aplikasi yang bersangkutan.
Memastikan Alamat IP dan Tujuan Koneksi Benar
Pemeriksaan pertama yang saya sarankan adalah memastikan koneksi benar-benar diarahkan ke server yang tepat.
Jika menggunakan domain, periksa alamat IP yang dikembalikan oleh DNS.
Jalankan:
dig +short example.comAtau:
nslookup example.comGanti example.com dengan domain yang mengalami masalah.
Perhatikan hasilnya dan bandingkan dengan IP publik VPS.
Jika domain mengarah ke IP lama atau IP server lain, koneksi mungkin sedang menuju mesin yang berbeda.
Memeriksa Record IPv4 dan IPv6
Jangan hanya memeriksa record A.
Periksa juga record AAAA:
dig +short A example.comdig +short AAAA example.comRecord A digunakan untuk IPv4, sedangkan AAAA digunakan untuk IPv6.

Jika DNS memiliki kedua record tersebut, tetapi server hanya memiliki konfigurasi IPv4, akses melalui IPv6 bisa mengalami kegagalan.
Untuk membandingkan hasil koneksi:
curl -4 -Iv https://example.comcurl -6 -Iv https://example.comJika IPv4 berhasil sedangkan IPv6 timeout, arahkan pemeriksaan ke routing IPv6, firewall IPv6, dan konfigurasi listener web server.
Jangan menghapus record DNS hanya berdasarkan dugaan. Pastikan terlebih dahulu apakah VPS memang memiliki konektivitas IPv6 yang berfungsi.
Menguji Konektivitas Server Menggunakan Ping
Setelah memastikan alamat IP tujuan benar, kamu bisa menggunakan ping untuk melihat apakah server merespons paket ICMP.
Jalankan:
ping -c 4 203.0.113.10Ganti IP tersebut dengan alamat publik VPS.
Contoh hasil ketika mendapatkan respons:
64 bytes from 203.0.113.10:icmp_seq=1 ttl=55 time=24.5 msInformasi tersebut menunjukkan bahwa server atau perangkat jaringan yang merespons dapat dijangkau melalui ICMP.
Namun, jika hasilnya:
4 packets transmitted, 0 received, 100% packet lossJangan langsung menyimpulkan VPS sedang mati.
Ada beberapa kemungkinan:
ICMP diblokir firewall.
Provider VPS tidak mengizinkan ping.
Server tidak dapat dijangkau.
Routing jaringan mengalami masalah.
Jaringan asal membatasi paket ICMP.
Apakah Ping Harus Berhasil agar Website Bisa Diakses?
Tidak.
Ping menggunakan ICMP, sedangkan website umumnya menggunakan TCP pada port 80 dan 443.
Karena itu, server bisa saja tidak merespons ping tetapi tetap melayani koneksi HTTPS dengan normal.
Gunakan ping hanya sebagai pemeriksaan awal, bukan sebagai satu-satunya indikator bahwa VPS sedang aktif atau mati.
Memeriksa Koneksi TCP ke Port Server
Jika ping tidak memberikan gambaran yang cukup, lanjutkan dengan menguji port yang digunakan service.
Misalnya, website menggunakan HTTPS pada port 443.
Kamu bisa menggunakan Netcat:
nc -vz -w 5 203.0.113.10 443Keterangan:
-v: Menampilkan informasi koneksi.-z: Menguji koneksi tanpa mengirimkan data aplikasi.-w 5: Menentukan batas waktu tunggu sekitar lima detik.
Jika koneksi berhasil, hasilnya kurang lebih:
Connection to 203.0.113.10 443 port [tcp/https] succeeded!Artinya, koneksi TCP ke port 443 berhasil dibuat.
Jika muncul timeout, ada beberapa kemungkinan yang perlu diperiksa:
Firewall memblokir koneksi.
Baca JugaCara Mengatasi Error SSL Certificate Expired di Website![Cara Mengatasi Error SSL Certificate Expired di Website]()
Tidak ada respons dari alamat tujuan.
Routing bermasalah.
Service tidak dapat dijangkau melalui alamat tersebut.
Menguji Port SSH
Jika masalah terjadi ketika mengakses SSH:
nc -vz -w 5 203.0.113.10 22Jika SSH menggunakan port khusus, misalnya 2222:
nc -vz -w 5 203.0.113.10 2222Jangan mengasumsikan semua VPS menggunakan port 22. Gunakan port SSH yang benar sesuai konfigurasi server.
Mengapa Pengujian TCP Lebih Berguna?
Pengujian ini membantu memisahkan masalah konektivitas umum dengan masalah pada service tertentu.
Contohnya:
| Ping | TCP 443 | Kemungkinan kondisi |
|---|---|---|
| Berhasil | Berhasil | Server dan port dapat dijangkau |
| Gagal | Berhasil | ICMP kemungkinan diblokir |
| Berhasil | Timeout | Periksa firewall atau service pada port 443 |
| Gagal | Timeout | Periksa routing, firewall, dan konektivitas server |
Hasil tersebut merupakan petunjuk awal. Pemeriksaan lanjutan tetap diperlukan untuk memastikan penyebabnya.
Memeriksa Status Service pada VPS
Jika kamu memiliki akses ke console VPS melalui dashboard provider atau metode administrasi lain, periksa service yang seharusnya menerima koneksi.
Untuk Nginx:
sudo systemctl status nginxUntuk Apache pada Ubuntu atau Debian:
sudo systemctl status apache2Untuk OpenLiteSpeed:
sudo systemctl status lswsUntuk SSH pada Ubuntu atau Debian:
sudo systemctl status sshPada beberapa distribusi Linux, nama service SSH adalah sshd:
sudo systemctl status sshdPerhatikan status service.
Jika menunjukkan:
Active: active (running)Service sedang berjalan menurut systemd.
Namun, status aktif tidak otomatis membuktikan service menerima koneksi melalui IP publik.
Memastikan Service Benar-Benar Listening
Jalankan:
sudo ss -tulpenUntuk memeriksa port tertentu:
sudo ss -tulpen | grep ':443'Contoh:
LISTEN 0 511 0.0.0.0:443 0.0.0.0:*Artinya, ada service yang mendengarkan koneksi IPv4 pada seluruh alamat lokal di port 443.
Bandingkan dengan:
LISTEN 0 128 127.0.0.1:443 0.0.0.0:*Pada kondisi kedua, service hanya mendengarkan loopback IPv4.
Jika koneksi diharapkan datang langsung dari luar VPS, binding seperti ini perlu diperiksa.
Bagaimana Jika Service Tidak Berjalan?
Jangan langsung melakukan restart sebelum mengetahui alasan service berhenti.
Periksa log:
sudo journalctl -u nginx -n 100 --no-pagerSesuaikan nama service jika menggunakan Apache, OpenLiteSpeed, atau SSH.
Cari informasi seperti:
Konfigurasi tidak valid.
Baca JugaCara Mengatasi Let’s Encrypt Challenge Failed pada Server![Cara Mengatasi Let’s Encrypt Challenge Failed pada Server]()
Port sudah digunakan service lain.
Sertifikat SSL tidak dapat dibaca.
Proses mengalami crash.
Kegagalan permission atau dependensi.
Jika service gagal karena konfigurasi, perbaiki penyebabnya terlebih dahulu. Setelah konfigurasi divalidasi, barulah terapkan perubahan.
Memeriksa Firewall Linux
Firewall merupakan salah satu komponen yang perlu diperiksa ketika koneksi dari luar VPS mengalami timeout.
Pada Linux, beberapa sistem firewall yang umum digunakan adalah UFW, iptables, dan nftables.
A. Memeriksa UFW
Jalankan:
sudo ufw status verboseJika statusnya aktif, periksa apakah port tujuan sudah diizinkan.
Misalnya, untuk HTTPS:
sudo ufw allow 443/tcpUntuk HTTP:
sudo ufw allow 80/tcpJika SSH menggunakan port 22:
sudo ufw allow 22/tcpJika menggunakan port SSH khusus, sesuaikan dengan port yang sebenarnya.
Periksa kembali:
sudo ufw status numberedPastikan tidak ada aturan lain yang bertentangan dengan aturan izin tersebut.
Peringatan: Jangan mengaktifkan atau mengubah firewall melalui SSH tanpa memastikan akses remote tetap diizinkan. Kesalahan aturan firewall dapat membuat kamu kehilangan akses administrasi ke VPS.
B. Memeriksa iptables
Jika VPS menggunakan iptables, periksa aturan inbound:
sudo iptables -L INPUT -n -v --line-numbersPerhatikan:
Policy default pada chain INPUT.
Aturan ACCEPT.
Aturan DROP.
Aturan REJECT.
Counter paket pada setiap aturan.
Misalnya, jika terdapat kebijakan DROP dan tidak ada aturan yang mengizinkan port tujuan, koneksi masuk dapat dibuang tanpa memberikan respons.
Periksa juga firewall IPv6:
sudo ip6tables -L INPUT -n -v --line-numbersJangan menghapus seluruh aturan firewall hanya karena menemukan satu aturan DROP. Aturan tersebut mungkin merupakan bagian dari kebijakan keamanan server.
C. Memeriksa nftables
Untuk sistem yang menggunakan nftables:
sudo nft list rulesetCari chain yang memproses paket masuk.
Perhatikan aturan yang berkaitan dengan port tujuan, alamat sumber, interface, dan kebijakan DROP atau REJECT.
Jika kamu menemukan aturan yang memblokir koneksi, telusuri terlebih dahulu file konfigurasi atau service yang mengelola aturan tersebut.
Memeriksa Firewall Eksternal dari Provider VPS
Satu hal yang sering terlupakan adalah firewall tidak selalu dikelola dari dalam Linux.
Provider VPS tertentu menyediakan firewall eksternal yang bekerja pada lapisan jaringan sebelum paket diteruskan ke virtual machine.
Akibatnya, konfigurasi firewall Linux bisa saja sudah benar, tetapi koneksi dari internet tetap mengalami timeout.
Masuk ke dashboard provider VPS dan cari menu seperti:
Cloud Firewall
Network Firewall
Security Group
Inbound Rules
Network Security
Periksa apakah port yang dibutuhkan sudah diizinkan.
Contoh aturan untuk website:
| Parameter | Nilai |
|---|---|
| Direction | Inbound |
| Protocol | TCP |
| Port | 443 |
| Source | 0.0.0.0/0 |
| Action | Allow |
Jika website menggunakan HTTP, tambahkan aturan untuk port 80.
Untuk SSH, gunakan port yang benar-benar dikonfigurasi pada VPS.
Jika server menggunakan IPv6, pastikan aturan IPv6 juga tersedia sesuai kebutuhan.
Bagaimana Mengetahui Firewall Provider yang Bermasalah?
Misalnya, hasil pemeriksaan menunjukkan:
Web server aktif.
Port 443 berstatus LISTEN.
UFW mengizinkan TCP 443.
HTTPS berhasil diuji dari localhost.
Koneksi dari jaringan luar tetap timeout.
Pada kondisi tersebut, firewall eksternal provider menjadi salah satu kandidat yang perlu diperiksa.
Kamu juga bisa melakukan pengujian menggunakan tcpdump untuk melihat apakah paket dari luar benar-benar sampai ke VPS.
Jangan membuka seluruh port VPS untuk menguji dugaan ini. Cukup izinkan port yang dibutuhkan.
Memeriksa Routing dan Jalur Koneksi Jaringan
Jika firewall dan service terlihat normal, masalah bisa berada pada jalur jaringan antara komputer klien dan VPS.
Koneksi internet tidak selalu melewati jalur yang sama. Karena itu, sebuah server bisa diakses dari satu jaringan tetapi timeout dari jaringan lainnya.
Untuk memeriksa jalur koneksi, kamu bisa menggunakan traceroute.
Install pada Ubuntu atau Debian:
sudo apt install tracerouteKemudian jalankan dari komputer atau server yang mengalami masalah:
traceroute 203.0.113.10Perintah tersebut menampilkan jalur hop yang dilewati paket menuju IP tujuan.
Jika menggunakan ICMP atau UDP dan jalur tertentu tidak memberikan respons, hasilnya mungkin menampilkan:
* * *Hal ini tidak otomatis berarti routing terputus. Router di sepanjang jalur bisa saja tidak merespons paket traceroute.
Menggunakan MTR untuk Analisis Lebih Lanjut
MTR menggabungkan fungsi traceroute dan ping untuk memberikan gambaran jalur jaringan serta statistik respons.
Install:
sudo apt install mtr-tinyJalankan:
mtr -rw 203.0.113.10Keterangan:
-r: Menghasilkan laporan.-w: Menggunakan format laporan yang lebih lebar.
Perhatikan kolom:
Loss%: Persentase paket yang tidak mendapatkan respons.
Snt: Jumlah paket yang dikirim.
Last: Waktu respons terakhir.
Avg: Rata-rata waktu respons.
Best: Waktu respons terbaik.
Wrst: Waktu respons terburuk.
Jangan langsung menyimpulkan ada packet loss pada jalur internet hanya karena satu hop menunjukkan kehilangan paket. Beberapa router membatasi respons ICMP tetapi tetap meneruskan trafik normal.
Untuk masalah website yang hanya terjadi pada TCP port tertentu, pengujian traceroute biasa juga belum tentu menggambarkan jalur TCP tersebut.
Menganalisis Paket Jaringan Menggunakan tcpdump
Jika pemeriksaan sebelumnya belum menemukan penyebab, gunakan tcpdump untuk melihat paket yang benar-benar diterima dan dikirim oleh VPS.
Tool ini sangat berguna karena kamu bisa mengetahui apakah permintaan koneksi dari luar sudah mencapai server.
Install jika belum tersedia:
sudo apt install tcpdumpKemudian jalankan:
sudo tcpdump -ni any 'tcp port 443'Contoh tersebut digunakan untuk memantau koneksi HTTPS.
Jika masalah terjadi pada SSH port 22:
sudo tcpdump -ni any 'tcp port 22'Biarkan terminal berjalan, kemudian coba akses VPS dari komputer lain.
A. Tidak Ada Paket yang Masuk
Jika kamu mencoba mengakses server dari luar tetapi tidak ada paket yang terlihat, beberapa kemungkinan penyebabnya adalah:
Firewall provider memblokir koneksi.
Routing menuju VPS bermasalah.
IP tujuan salah.
Jaringan asal tidak berhasil mengirimkan paket.
Trafik tidak sampai ke interface yang dipantau.
Periksa kembali IP tujuan dan interface jaringan sebelum mengambil kesimpulan.
B. Paket SYN Masuk tetapi Tidak Ada Respons
Contoh:
CLIENT_IP.54321 > SERVER_IP.443: Flags [S]Paket SYN menunjukkan bahwa klien mencoba memulai koneksi TCP.
Jika paket SYN masuk tetapi VPS tidak mengirimkan SYN-ACK atau RST, periksa:
Firewall lokal.
Status service.
Binding alamat IP.
Routing dan kebijakan jaringan.
Kondisi network stack.
C. Server Mengirim RST
Contoh:
SERVER_IP.443 > CLIENT_IP.54321: Flags [R.]RST menunjukkan koneksi di-reset.
Salah satu kemungkinan penyebabnya adalah tidak ada service yang mendengarkan port tersebut pada alamat tujuan, atau terdapat aturan firewall yang secara aktif menolak koneksi.
D. TCP Handshake Berhasil
Jika terlihat urutan:
CLIENT_IP.54321 > SERVER_IP.443: Flags [S]SERVER_IP.443 > CLIENT_IP.54321: Flags [S.]CLIENT_IP.54321 > SERVER_IP.443: Flags [.]Artinya, TCP three-way handshake berhasil.
Jika setelah itu website masih mengalami timeout, arahkan pemeriksaan ke proses TLS, web server, aplikasi, atau service yang berada di belakangnya.
Untuk menghentikan tcpdump, tekan CTRL + C.
Memeriksa Beban Server dan Resource VPS
Tidak semua connection timeout disebabkan oleh firewall atau jaringan.
VPS yang mengalami overload juga dapat menyebabkan service lambat merespons atau gagal menerima koneksi baru.
Hal ini bisa terjadi ketika:
Penggunaan RAM hampir habis.
CPU terus-menerus berada pada beban tinggi.
Proses PHP-FPM terlalu banyak.
Database mengalami bottleneck.
Disk mengalami I/O wait tinggi.
Jumlah koneksi yang diterima service mencapai batas konfigurasi.
A. Memeriksa Load Average
Jalankan:
uptimeContoh output:
load average: 2.50, 3.10, 4.20Angka tersebut menunjukkan rata-rata beban sistem dalam periode 1, 5, dan 15 menit.
Interpretasinya perlu disesuaikan dengan jumlah CPU dan jenis pekerjaan server.
Misalnya, load average 4 pada VPS dengan satu vCPU memiliki arti yang berbeda dibandingkan VPS dengan delapan vCPU.
B. Memeriksa Penggunaan RAM
Jalankan:
free -hPerhatikan kolom available untuk memperkirakan memori yang masih tersedia bagi aplikasi.
Jika memori sangat terbatas, periksa apakah terdapat proses yang menggunakan RAM secara berlebihan.
C. Memeriksa Proses yang Menggunakan CPU
Gunakan:
topAtau jika tersedia:
htopPerhatikan proses seperti:
nginx
lshttpd
apache2
php-fpm
mariadbd
mysqld
Jika ada proses yang menggunakan resource sangat tinggi, cari tahu penyebabnya sebelum menghentikan proses tersebut.
D. Memeriksa Kapasitas Disk
Jalankan:
df -hPeriksa apakah filesystem sudah mencapai kapasitas penuh.
Disk yang penuh dapat menyebabkan aplikasi gagal menulis log, session, cache, atau file sementara.
E. Memeriksa OOM Killer
Jika VPS kehabisan memori, Linux dapat menjalankan mekanisme Out of Memory Killer untuk menghentikan proses tertentu.
Periksa log kernel:
sudo journalctl -k -g 'Out of memory\|Killed process'Jika ditemukan proses yang dihentikan oleh OOM Killer, masalah resource perlu ditangani sebelum melakukan perubahan firewall.
Perlu diingat, OOM Killer tidak otomatis menjadi penyebab setiap connection timeout. Hubungkan temuan tersebut dengan waktu kejadian dan service yang mengalami gangguan.
Langkah Perbaikan Berdasarkan Hasil Diagnosis
Setelah mengetahui kemungkinan lokasi masalah, lakukan perbaikan sesuai hasil pemeriksaan.
Saya menyarankan agar kamu tidak menjalankan semua solusi sekaligus. Perubahan yang terlalu banyak justru dapat menyulitkan proses identifikasi penyebab.
Skenario 1: Firewall Memblokir Port Tujuan
Jika hasil pemeriksaan menunjukkan port tujuan diblokir UFW, tambahkan aturan yang sesuai.
Contoh HTTPS:
sudo ufw allow 443/tcpUntuk HTTP:
sudo ufw allow 80/tcpKemudian periksa:
sudo ufw status verboseJika firewall provider juga memblokir koneksi, perbaiki aturan inbound melalui dashboard provider.
Lakukan pengujian ulang dari jaringan luar.
Skenario 2: Service Tidak Berjalan
Jika web server tidak aktif, periksa log terlebih dahulu.
Untuk Nginx:
sudo journalctl -u nginx -n 100 --no-pagerValidasi konfigurasi:
sudo nginx -tJika konfigurasi valid dan penyebab service berhenti sudah diperbaiki, jalankan:
sudo systemctl start nginxJika service sebelumnya aktif dan kamu hanya ingin menerapkan perubahan konfigurasi:
sudo systemctl reload nginxSesuaikan prosedur jika menggunakan Apache atau OpenLiteSpeed.
Skenario 3: Service Hanya Listening pada Localhost
Jika hasil ss menunjukkan:
127.0.0.1:443Periksa konfigurasi listener atau binding web server.
Jika layanan memang harus menerima koneksi langsung dari jaringan, sesuaikan agar mendengarkan alamat IP yang benar.
Contoh konfigurasi Nginx:
server {listen 443 ssl;server_name example.com;}Validasi:
sudo nginx -tKemudian terapkan perubahan menggunakan reload.
Jika arsitektur server menggunakan reverse proxy, pastikan perubahan tidak merusak pemisahan antara service publik dan backend internal.
Skenario 4: DNS Mengarah ke IP yang Salah
Jika record A atau AAAA tidak sesuai, perbaiki DNS pada pengelola domain atau DNS provider.
Setelah perubahan, periksa kembali:
dig +short A example.comdig +short AAAA example.comIngat bahwa pembaruan DNS tidak selalu terlihat secara serentak karena adanya caching dan TTL.
Skenario 5: Routing Jaringan Bermasalah
Jika hasil MTR atau traceroute menunjukkan indikasi gangguan jalur, lakukan pengujian dari jaringan lain.
Misalnya:
Jaringan internet rumah.
Jaringan seluler.
VPS lain di provider berbeda.
Jika hanya satu jaringan yang mengalami masalah, kemungkinan gangguan berada pada jalur jaringan tersebut.
Jika semua jaringan gagal mencapai VPS dan paket tidak terlihat di server, hubungi provider dengan menyertakan IP tujuan, waktu kejadian, hasil pengujian, dan laporan MTR.
Jangan mengubah konfigurasi routing server tanpa mengetahui topologi jaringan dan gateway yang digunakan.
Skenario 6: VPS Mengalami Overload
Jika ditemukan penggunaan CPU, RAM, atau I/O yang tidak normal, identifikasi proses penyebabnya.
Misalnya, jika PHP-FPM menggunakan terlalu banyak resource, periksa jumlah worker, konfigurasi pool, dan pola trafik aplikasi.
Jika database mengalami bottleneck, periksa query lambat dan penggunaan koneksi.
Jangan langsung menambahkan RAM atau mematikan proses produksi sebelum mengetahui kebutuhan aplikasi. Perbaikan harus disesuaikan dengan sumber beban sebenarnya.
Memverifikasi Apakah Connection Timeout Sudah Teratasi
Setelah melakukan perbaikan, lakukan pengujian ulang dari sisi server maupun komputer eksternal.
Jangan hanya mengandalkan status service yang menunjukkan active.
A. Periksa Status Service
Contoh untuk Nginx:
sudo systemctl is-active nginxHasil yang diharapkan:
activeB. Pastikan Port Sudah Listening
sudo ss -tulpen | grep ':443'Pastikan service mendengarkan alamat dan port yang sesuai dengan kebutuhan jaringan.
C. Uji Koneksi TCP dari Luar
Dari komputer lain:
nc -vz -w 5 203.0.113.10 443Pastikan koneksi berhasil dibuat.
D. Uji Respons HTTP
curl -Iv https://example.comPeriksa apakah proses TLS berhasil dan server memberikan respons HTTP.
Jika mendapatkan HTTP 200, 301, atau 302, berarti server sudah memberikan respons HTTP. Kode tersebut tetap perlu dinilai berdasarkan perilaku website yang diharapkan.
E. Pantau Log Ketika Pengujian
Jika masih mengalami timeout, buka terminal lain dan pantau log:
sudo journalctl -fAtau gunakan log khusus web server.
Dengan demikian, kamu bisa melihat apakah terdapat error baru ketika koneksi dilakukan.
Cara Mencegah Connection Timeout pada VPS
Setelah masalah berhasil diidentifikasi dan ditangani, ada beberapa langkah yang dapat membantu mengurangi kemungkinan gangguan serupa.
A. Hindari Mengubah Firewall Tanpa Dokumentasi
Simpan dokumentasi aturan firewall yang digunakan VPS.
Catat port, protokol, sumber IP, serta sistem yang mengelola aturan tersebut.
Jika menggunakan firewall provider, dokumentasikan juga konfigurasi inbound dan outbound.
B. Pantau Ketersediaan Service
Pastikan service penting seperti SSH, Nginx, Apache, OpenLiteSpeed, dan database dipantau.
Pemeriksaan status service dapat dikombinasikan dengan pengujian koneksi TCP dari luar VPS.
C. Monitor Resource VPS
Perhatikan penggunaan:
CPU.
RAM.
Disk.
Disk I/O.
Network traffic.
Jumlah koneksi aktif.
Pemantauan ini membantu mendeteksi kondisi overload sebelum mulai mengganggu layanan.
D. Backup Konfigurasi Sebelum Perubahan
Sebelum mengubah firewall, DNS, routing, atau konfigurasi web server, buat backup terlebih dahulu.
Untuk konfigurasi penting, simpan juga catatan perubahan agar mudah melakukan rollback jika terjadi masalah.
E. Jangan Mengabaikan IPv6
Jika website menggunakan IPv4 dan IPv6, pastikan keduanya dikonfigurasi dengan benar.
Periksa DNS, firewall, listener, dan routing untuk kedua protokol tersebut.
F. Siapkan Akses Console dari Provider
Ini penting terutama untuk administrator VPS yang hanya mengandalkan SSH.
Jika firewall salah konfigurasi dan SSH tidak bisa diakses, console melalui dashboard provider dapat menjadi jalur pemulihan.
Pastikan kamu mengetahui cara menggunakan fitur tersebut sebelum terjadi gangguan.
FAQ Seputar Connection Timed Out ke Server
1. Apa penyebab utama connection timed out ke server?
Penyebabnya bisa berupa firewall yang memblokir koneksi, routing jaringan bermasalah, service tidak merespons, IP tujuan salah, atau VPS mengalami overload. Pemeriksaan harus dilakukan berdasarkan port dan service yang mengalami gangguan.
2. Apa perbedaan connection timed out dan connection refused?
Connection timed out terjadi ketika koneksi tidak mendapatkan respons yang dibutuhkan dalam batas waktu tertentu. Connection refused menunjukkan koneksi ditolak oleh tujuan atau perangkat jaringan yang merespons.
Timeout sering berkaitan dengan paket yang tidak memperoleh respons, sedangkan refused biasanya menunjukkan adanya penolakan yang lebih langsung.
3. Kenapa SSH connection timed out padahal VPS masih aktif?
VPS bisa tetap aktif meskipun SSH tidak dapat dijangkau. Penyebabnya antara lain firewall memblokir port SSH, service SSH berhenti, port SSH berubah, atau routing jaringan bermasalah.
Jika SSH tidak dapat digunakan, manfaatkan console VPS dari dashboard provider untuk memeriksa service dan firewall.
4. Apakah connection timed out selalu disebabkan firewall?
Tidak. Firewall memang salah satu penyebab umum, tetapi masalah DNS, routing, service, resource VPS, dan jaringan klien juga dapat menghasilkan timeout.
Karena itu, periksa koneksi TCP dan gunakan tcpdump sebelum mengubah aturan firewall.
5. Bagaimana cara mengetahui connection timeout berasal dari server atau jaringan internet?
Bandingkan pengujian dari beberapa jaringan berbeda. Jika hanya satu jaringan yang gagal, kemungkinan terdapat masalah pada jalur jaringan tersebut.
Jika seluruh jaringan gagal dan paket koneksi tidak mencapai VPS, periksa firewall eksternal, routing, dan konektivitas provider. Jika paket sudah sampai, lanjutkan pemeriksaan dari sisi server.
Penutup
Cara mengatasi connection timed out ke server sebaiknya dimulai dengan mencari tahu di mana koneksi berhenti.
Periksa alamat IP dan DNS, uji konektivitas menggunakan ping dan Netcat, pastikan service berjalan, kemudian periksa firewall Linux serta firewall provider VPS.
Jika belum menemukan penyebabnya, gunakan traceroute, MTR, dan tcpdump untuk mendapatkan gambaran lebih jelas mengenai jalur koneksi dan paket yang diterima server.
Hal terpenting adalah jangan melakukan perubahan konfigurasi secara acak. Setiap tindakan perbaikan harus didasarkan pada hasil diagnosis agar kamu tidak menimbulkan masalah baru ketika mencoba memperbaiki koneksi server.
Dengan pendekatan tersebut, troubleshooting akan lebih terarah, risiko kesalahan konfigurasi dapat dikurangi, dan kamu memiliki bukti teknis yang lebih kuat ketika harus meminta bantuan provider VPS.
Referensi Teknis
Beberapa dokumentasi yang relevan untuk memperdalam materi troubleshooting:
1. Linux Manual Pages
tcpdump: tcpdump Manualping: ping Manual
2. Netcat
OpenBSD Netcat Manual – Referensi pengujian koneksi TCP dan UDP.
3. MTR
MTR Manual – Referensi analisis jalur jaringan dan statistik koneksi.
4. Ubuntu Server
Ubuntu Firewall Documentation – Dokumentasi pengelolaan firewall.
5. OpenSSH
OpenSSH Server Manual – Referensi konfigurasi dan perilaku SSH server.



