Server Solusi – Website sudah menggunakan SSL, sertifikat HTTPS terpasang, dan web server terlihat berjalan normal. Namun, ketika diakses dari jaringan luar VPS, koneksi justru mengalami timeout atau menampilkan pesan ERR_CONNECTION_REFUSED.
Situasi seperti ini cukup membingungkan, terutama ketika website masih bisa diakses melalui localhost atau ketika saya melakukan pengujian langsung dari dalam server.
Hal yang perlu dipahami adalah bahwa port 443 yang tidak bisa diakses dari luar VPS belum tentu disebabkan oleh sertifikat SSL. Masalahnya bisa berada pada web server, firewall Linux, aturan firewall dari provider VPS, konfigurasi jaringan, atau bahkan alamat IP yang digunakan.
Saya akan menggunakan pendekatan troubleshooting bertahap agar kamu bisa menemukan titik masalah tanpa harus sembarangan mematikan firewall atau mengubah konfigurasi server.
Mengapa Port 443 Tidak Bisa Diakses dari Luar VPS?
Port 443 tidak bisa diakses dari luar VPS biasanya karena tidak ada service yang mendengarkan koneksi HTTPS pada port tersebut, firewall memblokir koneksi masuk, atau provider VPS memiliki aturan jaringan yang belum mengizinkan TCP port 443.
Untuk menemukan penyebabnya, periksa secara berurutan:
Pastikan web server berjalan dan mendengarkan port 443.
Uji koneksi HTTPS dari dalam VPS.
Periksa firewall Linux seperti UFW, iptables, atau nftables.
Periksa firewall eksternal atau security group dari provider VPS.
Periksa konfigurasi virtual host dan binding alamat IP.
Uji koneksi kembali dari jaringan luar.
Jangan langsung menyimpulkan bahwa SSL bermasalah hanya karena HTTPS tidak bisa dibuka. Sertifikat SSL dan konektivitas TCP merupakan dua lapisan yang berbeda.
Memahami Gejala Port 443 yang Tidak Bisa Diakses
Sebelum melakukan perubahan konfigurasi, saya menyarankan kamu memahami jenis kegagalan koneksi yang muncul.
Pesan error dari browser atau terminal bisa memberikan petunjuk awal mengenai lokasi masalah.
A. Connection Refused
Contoh pesan:
curl: (7) Failed to connect to example.com port 443:Connection refusedArtinya, koneksi TCP ditolak oleh tujuan atau perangkat jaringan yang merespons koneksi tersebut.
Beberapa kemungkinan penyebabnya:
Tidak ada service yang listening pada port 443.
Baca JugaCloudflare Error 522: Cara Mencari Penyebab Koneksi ke Server Timeout![Cloudflare Error 522: Cara Mencari Penyebab Koneksi ke Server Timeout]()
Web server belum dikonfigurasi menggunakan HTTPS.
Service hanya mendengarkan pada alamat IP tertentu.
Firewall menggunakan aturan REJECT.
Ada perangkat jaringan yang secara aktif menolak koneksi.
Jika mendapatkan pesan ini, periksa terlebih dahulu status web server dan port listening.
B. Connection Timed Out
Contoh pesan:
curl: (28) Failed to connect to example.comport 443 after 10000 ms: Timeout was reachedTimeout menunjukkan bahwa koneksi tidak memperoleh respons yang dibutuhkan dalam batas waktu pengujian.
Penyebab yang perlu diperiksa antara lain:
Firewall menjatuhkan paket TCP secara diam-diam menggunakan DROP.
Security group provider belum mengizinkan port 443.
Routing jaringan mengalami masalah.
IP tujuan tidak sesuai.
Ada pembatasan jaringan dari sisi provider atau jaringan klien.
Berbeda dengan connection refused, timeout sering mengindikasikan bahwa paket koneksi tidak mendapatkan respons yang semestinya.
Namun, keduanya bukan bukti pasti mengenai lokasi masalah.
C. HTTPS Berhasil dari VPS, tetapi Gagal dari Luar
Ini merupakan kondisi yang cukup penting untuk diperhatikan.
Misalnya, ketika kamu menjalankan:
curl -I https://127.0.0.1Server memberikan respons HTTP, tetapi ketika website diakses menggunakan browser dari komputer lain, koneksi mengalami timeout.
Kondisi tersebut menunjukkan bahwa web server kemungkinan sudah melayani HTTPS secara lokal.
Pemeriksaan selanjutnya perlu diarahkan pada:
Binding alamat IP.
Firewall lokal.
Firewall provider VPS.
Routing jaringan.
Perbedaan alamat IP tujuan.
Perlu diingat, keberhasilan mengakses 127.0.0.1 belum membuktikan bahwa web server menerima koneksi melalui public IP.
Memastikan Web Server Mendengarkan Port 443
Langkah pertama yang saya sarankan adalah memeriksa apakah ada proses yang benar-benar mendengarkan koneksi pada TCP port 443.
Masuk ke VPS menggunakan SSH, kemudian jalankan:
sudo ss -tulpen | grep ':443'Perintah tersebut menggunakan ss untuk menampilkan socket TCP dan UDP, termasuk port yang sedang digunakan oleh service.
Perhatikan bagian Local Address:Port.
Contoh hasil yang mungkin ditemukan:
LISTEN 0 511 0.0.0.0:443 0.0.0.0:* users:(("nginx",pid=1234,fd=6))Artinya:
LISTEN: Service sedang menunggu koneksi masuk.0.0.0.0:443: Service mendengarkan semua alamat IPv4 lokal.nginx: Proses yang menggunakan port tersebut.Baca JugaCara Mengatasi DNS_PROBE_FINISHED_NXDOMAIN di Website Sendiri![Cara Mengatasi DNS_PROBE_FINISHED_NXDOMAIN di Website Sendiri]()
pid=1234: Identitas proses Nginx dalam contoh ini.
Angka PID dan detail output tentu akan berbeda pada setiap server.
Memahami Perbedaan Alamat Listening
Perhatikan beberapa kemungkinan berikut:
| Alamat listening | Keterangan |
|---|---|
0.0.0.0:443 | Menerima koneksi IPv4 pada semua alamat lokal |
127.0.0.1:443 | Hanya menerima koneksi melalui loopback IPv4 |
192.168.1.10:443 | Hanya mendengarkan alamat IP tersebut |
[::]:443 | Mendengarkan pada alamat IPv6 wildcard |
Jika hasilnya menunjukkan:
127.0.0.1:443Maka ada kemungkinan web server hanya menerima koneksi lokal.
Kamu perlu memeriksa konfigurasi virtual host atau konfigurasi listener agar service juga mendengarkan alamat jaringan yang diperlukan.
Namun, jangan langsung mengubah binding jika server memang sengaja dirancang menggunakan reverse proxy atau arsitektur jaringan tertentu.
Bagaimana Jika Tidak Ada Output?
Jika perintah ss tidak menghasilkan apa pun, kemungkinan tidak ada service yang sedang listening pada port 443.
Periksa status web server yang digunakan.
Untuk Nginx:
sudo systemctl status nginxUntuk Apache:
sudo systemctl status apache2Pada distribusi yang menggunakan nama service httpd, seperti beberapa sistem berbasis RHEL:
sudo systemctl status httpdUntuk OpenLiteSpeed:
sudo systemctl status lswsJika service tidak berjalan, jangan langsung melakukan restart berulang kali. Periksa terlebih dahulu alasan kegagalannya melalui log dan validasi konfigurasi.
Menguji HTTPS Langsung dari Dalam VPS
Setelah memastikan service listening, lakukan pengujian koneksi dari sisi server.
Jalankan:
curl -Iv https://127.0.0.1Opsi yang digunakan:
-I: Meminta header HTTP.-v: Menampilkan informasi proses koneksi dan negosiasi TLS.
Perlu diperhatikan bahwa pengujian menggunakan 127.0.0.1 bisa menghasilkan kesalahan sertifikat karena nama host pada sertifikat biasanya bukan alamat loopback.
Untuk menguji domain dengan tetap menggunakan koneksi lokal, gunakan:
curl -Iv --resolve example.com:443:127.0.0.1 https://example.com/Ganti example.com dengan domain milikmu.
Perintah tersebut mengarahkan domain ke 127.0.0.1 untuk pengujian, tanpa mengubah DNS publik.
Jika mendapatkan respons HTTP seperti:
HTTP/2 200atau:
HTTP/1.1 301 Moved PermanentlyArtinya, server berhasil memproses permintaan HTTPS lokal sampai menghasilkan respons HTTP.
Kode 301, 403, atau 404 bukan berarti koneksi TCP port 443 gagal. Itu merupakan respons dari lapisan HTTP.

Sebaliknya, jika muncul:
Connection refusedatau:
Connection timed outKamu perlu kembali memeriksa service dan konfigurasi jaringan lokal.
Memeriksa Firewall Linux pada VPS
Jika web server sudah listening dan HTTPS berhasil diuji secara lokal, langkah berikutnya adalah memeriksa firewall.
Firewall Linux dapat memblokir koneksi masuk meskipun web server berjalan normal.
Ada beberapa sistem firewall yang umum digunakan pada VPS.
A. Memeriksa UFW
Pada Ubuntu dan Debian, sebagian administrator menggunakan UFW untuk mengelola aturan firewall.
Periksa statusnya:
sudo ufw status verboseJika UFW aktif, perhatikan apakah terdapat aturan yang mengizinkan koneksi TCP port 443.
Contoh aturan yang diperlukan:
443/tcp ALLOW IN AnywhereJika aturan tersebut belum tersedia, kamu dapat menambahkan izin HTTPS:
sudo ufw allow 443/tcpKemudian periksa kembali:
sudo ufw status numberedJika VPS menggunakan IPv6, pastikan konfigurasi UFW juga menangani IPv6 sesuai kebutuhan.
Catatan: Jangan mengaktifkan UFW secara sembarangan pada server produksi. Jika UFW sebelumnya tidak aktif dan kamu ingin mengaktifkannya, pastikan akses SSH sudah diizinkan terlebih dahulu agar tidak kehilangan akses remote.
Contohnya:
sudo ufw allow OpenSSHSesuaikan aturan tersebut jika SSH menggunakan port khusus.
B. Memeriksa iptables
Tidak semua server menggunakan UFW. Beberapa menggunakan iptables secara langsung atau melalui frontend lain.
Periksa aturan firewall:
sudo iptables -L INPUT -n -v --line-numbersUntuk melihat aturan NAT:
sudo iptables -t nat -L -n -vPerhatikan apakah ada aturan yang:
Menolak koneksi TCP port 443.
Menjatuhkan paket menuju port 443.
Mengizinkan hanya alamat IP tertentu.
Mengarahkan koneksi ke port atau alamat lain.
Jika server menggunakan IPv6, periksa juga:
sudo ip6tables -L INPUT -n -v --line-numbersJangan langsung menghapus aturan yang terlihat mencurigakan. Identifikasi dahulu sumber pengelolaannya karena aturan tersebut mungkin dibuat oleh panel hosting, Docker, atau sistem keamanan lainnya.
C. Memeriksa nftables
Pada distribusi Linux modern, nftables dapat digunakan sebagai sistem firewall.
Periksa aturan aktif:
sudo nft list rulesetCari bagian chain yang menangani trafik masuk, khususnya aturan yang berkaitan dengan TCP destination port 443.

Misalnya, aturan firewall dapat menggunakan kondisi seperti:
tcp dport 443 acceptNamun, keberadaan aturan ACCEPT tidak otomatis menjamin koneksi berhasil. Urutan chain, hook, policy, dan aturan lain yang dieksekusi juga harus diperhatikan.
Jika kamu menemukan aturan DROP atau REJECT, telusuri terlebih dahulu bagaimana aturan tersebut dibuat sebelum melakukan perubahan.
Memeriksa Firewall dari Provider VPS
Ada satu hal yang sering terlewat ketika melakukan troubleshooting port pada VPS: firewall tidak selalu berada di dalam sistem operasi.
Beberapa penyedia VPS menyediakan firewall eksternal yang bekerja sebelum paket jaringan diteruskan ke mesin virtual.
Artinya, meskipun UFW tidak memblokir port 443 dan web server sudah listening, koneksi dari internet tetap bisa gagal apabila aturan firewall provider menolaknya.
Apa yang Harus Diperiksa?
Masuk ke dashboard provider VPS, kemudian cari fitur dengan nama seperti:
Cloud Firewall
Network Firewall
Security Group
Inbound Rules
Firewall Rules
Nama dan lokasi menu berbeda-beda tergantung provider.
Pastikan terdapat aturan inbound yang mengizinkan:
| Parameter | Nilai |
|---|---|
| Direction | Inbound |
| Protocol | TCP |
| Port | 443 |
| Source | 0.0.0.0/0 |
| Action | Allow |
Jika website juga harus bisa diakses melalui IPv6, periksa aturan IPv6 dan tambahkan sumber ::/0 sesuai kebutuhan.
Jangan membuka semua port VPS hanya untuk mengatasi masalah HTTPS. Cukup izinkan port dan sumber koneksi yang memang diperlukan.
Mengapa Firewall Provider Perlu Diperiksa?
Misalnya, konfigurasi VPS kamu sudah seperti ini:
Nginx berjalan.
Port 443 berstatus LISTEN.
UFW mengizinkan TCP port 443.
HTTPS berhasil ketika diuji dari localhost.
Namun, browser dari jaringan luar tetap mengalami timeout.
Pada kondisi tersebut, firewall eksternal provider menjadi salah satu kandidat pemeriksaan utama.
Jika aturan inbound ternyata belum mengizinkan TCP 443, tambahkan aturan tersebut melalui dashboard provider.
Setelah perubahan diterapkan, lakukan pengujian ulang dari jaringan eksternal.
Memeriksa Konfigurasi HTTPS pada Web Server
Jika firewall sudah diperiksa, tetapi port 443 belum berfungsi, pastikan web server memiliki konfigurasi HTTPS yang benar.
Konfigurasi setiap web server berbeda. Berikut beberapa pemeriksaan yang bisa dilakukan.
A. Jika Menggunakan Nginx
Buka konfigurasi virtual host atau server block yang digunakan domain.
Lokasinya bisa berada di:
/etc/nginx/sites-available/atau:
/etc/nginx/conf.d/Lokasi sebenarnya bergantung pada distribusi dan cara instalasi Nginx.
Periksa apakah terdapat konfigurasi seperti:
server {listen 443 ssl;server_name example.com www.example.com;ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;root /var/www/example.com;index index.php index.html;}Bagian yang paling penting adalah:
listen 443 ssl;Directive tersebut membuat server block menerima koneksi HTTPS melalui port 443.
Jika konfigurasi hanya menggunakan:
listen 127.0.0.1:443 ssl;Maka Nginx hanya menerima koneksi pada alamat loopback tersebut.
Sesuaikan binding jika memang diperlukan agar menerima koneksi melalui alamat jaringan VPS.
Setelah melakukan perubahan, validasi konfigurasi:
sudo nginx -tJika hasilnya menunjukkan:
syntax is oktest is successfulKonfigurasi berhasil melewati pemeriksaan sintaks.
Selanjutnya, terapkan perubahan:
sudo systemctl reload nginxSaya lebih menyarankan reload daripada langsung restart untuk perubahan konfigurasi Nginx yang dapat diterapkan tanpa menghentikan service sepenuhnya.
B. Jika Menggunakan OpenLiteSpeed
Pada OpenLiteSpeed, konfigurasi HTTPS menggunakan listener.
Masuk ke WebAdmin Console, kemudian buka:
ListenersPeriksa apakah terdapat listener HTTPS dengan pengaturan berikut:
| Pengaturan | Nilai |
|---|---|
| Listener Name | HTTPS |
| IP Address | ANY IPv4 |
| Port | 443 |
| Secure | Yes |
Pastikan juga listener tersebut sudah memiliki konfigurasi SSL.
Pada bagian SSL, periksa:
Private Key FileCertificate FileChained CertificateContoh lokasi sertifikat Let’s Encrypt:
/etc/letsencrypt/live/example.com/privkey.pem/etc/letsencrypt/live/example.com/fullchain.pemJangan menggunakan lokasi contoh tersebut secara mentah. Sesuaikan dengan domain dan lokasi sertifikat yang sebenarnya.
Setelah itu, periksa bagian Virtual Host Mappings untuk memastikan domain sudah dipetakan ke listener HTTPS.
Jika listener belum tersedia, buat listener baru dengan port 443 dan aktifkan opsi Secure.
OpenLiteSpeed memang memisahkan konfigurasi listener, SSL, dan pemetaan virtual host. Karena itu, memiliki sertifikat SSL saja belum menjamin domain sudah bisa menerima koneksi HTTPS.
C. Jika Menggunakan Apache
Pada Apache, pastikan modul SSL tersedia dan konfigurasi virtual host HTTPS sudah dibuat.
Periksa modul SSL:
sudo apachectl -M | grep sslPada Ubuntu atau Debian, kamu juga bisa memeriksa konfigurasi situs:
ls -lah /etc/apache2/sites-enabled/Contoh virtual host HTTPS:
<VirtualHost *:443>ServerName example.comServerAlias www.example.comDocumentRoot /var/www/example.comSSLEngine onSSLCertificateFile /etc/letsencrypt/live/example.com/fullchain.pemSSLCertificateKeyFile /etc/letsencrypt/live/example.com/privkey.pem</VirtualHost>Pastikan modul SSL sudah aktif dan konfigurasi port 443 tersedia.
Untuk mengaktifkan modul SSL pada Ubuntu atau Debian:
sudo a2enmod sslKemudian validasi konfigurasi:
sudo apachectl configtestJika konfigurasi valid, terapkan perubahan:
sudo systemctl reload apache2Jangan lupa memastikan Apache memang merupakan service yang mengelola port 443. Pada server yang menggunakan reverse proxy, bisa saja port tersebut dikelola oleh service lain.
Memeriksa DNS dan Alamat IP VPS
Masalah port 443 juga bisa terlihat seperti masalah firewall ketika domain ternyata mengarah ke alamat IP yang salah.
Misalnya, kamu memiliki VPS dengan IP publik:
203.0.113.10Namun, domain justru mengarah ke IP lama:
203.0.113.20Ketika domain diakses, browser akan mencoba terhubung ke server yang berbeda.
Periksa DNS menggunakan:
dig +short A example.comUntuk IPv6:
dig +short AAAA example.comBandingkan hasilnya dengan IP publik VPS yang sebenarnya.
Kamu juga bisa memeriksa DNS menggunakan:
nslookup example.comPeriksa Record A dan AAAA
Jangan hanya memeriksa record A.
Jika domain memiliki record AAAA, browser yang menggunakan IPv6 mungkin mencoba mengakses alamat IPv6 tersebut.
Sementara itu, web server atau firewall VPS mungkin hanya dikonfigurasi untuk IPv4.
Untuk membandingkan koneksi IPv4 dan IPv6, jalankan dari komputer eksternal:
curl -4 -Iv https://example.comKemudian:
curl -6 -Iv https://example.comJika IPv4 berhasil tetapi IPv6 gagal, arah pemeriksaan perlu difokuskan pada konfigurasi IPv6.
Periksa:
Apakah VPS memiliki IPv6 yang dapat dirutekan dari internet.
Apakah web server mendengarkan alamat IPv6.
Apakah firewall mengizinkan TCP port 443 melalui IPv6.
Apakah record AAAA mengarah ke alamat yang benar.
Jika server memang belum menyediakan layanan IPv6, jangan membiarkan record AAAA yang mengarah ke alamat yang tidak dapat melayani website.
Mengidentifikasi Lokasi Pemblokiran dengan tcpdump
Jika semua pemeriksaan sebelumnya belum menemukan penyebabnya, saya menyarankan menggunakan tcpdump.
Tool ini dapat membantu melihat apakah paket koneksi dari internet benar-benar sampai ke VPS.
Install jika belum tersedia.
Ubuntu atau Debian:
sudo apt install tcpdumpKemudian jalankan:
sudo tcpdump -ni any 'tcp port 443'Perintah tersebut memantau trafik TCP yang menggunakan port 443 pada seluruh interface jaringan.
Biarkan terminal tetap berjalan, lalu coba akses website dari komputer atau jaringan lain.
Perhatikan paket yang muncul.
A. Jika Tidak Ada Paket yang Masuk
Misalnya, kamu mencoba mengakses VPS dari luar, tetapi tcpdump tidak menampilkan paket SYN yang ditujukan ke port 443.
Kemungkinan masalah berada sebelum paket mencapai VPS, misalnya:
Firewall provider.
Security group.
Routing jaringan.
IP tujuan yang salah.
Pembatasan dari jaringan asal.
Namun, pastikan interface yang dipantau benar dan pengujian benar-benar menuju IP VPS tersebut.
B. Jika Paket SYN Masuk, tetapi Tidak Ada Respons
Contoh paket yang terlihat:
CLIENT_IP.54321 > SERVER_IP.443: Flags [S]Paket tersebut menunjukkan klien mencoba memulai koneksi TCP.
Jika paket SYN terus masuk tetapi server tidak mengirim SYN-ACK atau RST, periksa:
Firewall lokal.
Kebijakan routing.
Binding service.
Aturan filtering pada interface atau network stack.
C. Jika Server Mengirim RST
Contoh:
SERVER_IP.443 > CLIENT_IP.54321: Flags [R.]RST menunjukkan koneksi ditolak atau di-reset.
Salah satu kemungkinan yang perlu diperiksa adalah tidak adanya service yang listening pada alamat dan port tujuan, atau terdapat aturan firewall yang menggunakan REJECT.
D. Jika Terlihat SYN, SYN-ACK, dan ACK
Urutan paket seperti ini:
CLIENT_IP.54321 > SERVER_IP.443: Flags [S]SERVER_IP.443 > CLIENT_IP.54321: Flags [S.]CLIENT_IP.54321 > SERVER_IP.443: Flags [.]Menunjukkan proses TCP three-way handshake berhasil.
Artinya, konektivitas TCP sudah terbentuk. Jika browser masih menampilkan error, pemeriksaan berikutnya harus diarahkan pada TLS, konfigurasi HTTPS, atau lapisan HTTP.
Untuk menghentikan tcpdump, tekan:
CTRL + CPemeriksaan ini sangat membantu karena kamu tidak lagi hanya menebak apakah firewall memblokir koneksi. Kamu bisa melihat paket yang benar-benar diterima dan dikirim oleh server.
Memeriksa Log Web Server
Jika koneksi TCP sudah berhasil tetapi HTTPS masih bermasalah, periksa log web server.
Log dapat membantu menemukan masalah seperti sertifikat tidak terbaca, konfigurasi SSL salah, atau virtual host gagal dimuat.
Nginx
Periksa error log:
sudo tail -n 100 /var/log/nginx/error.logPantau log secara langsung:
sudo tail -f /var/log/nginx/error.logApache
Pada Ubuntu atau Debian:
sudo tail -n 100 /var/log/apache2/error.logOpenLiteSpeed
Lokasi log bergantung pada konfigurasi instalasi. Lokasi yang umum digunakan:
/usr/local/lsws/logs/error.logPeriksa menggunakan:
sudo tail -n 100 /usr/local/lsws/logs/error.logJika menemukan pesan seperti:
Unable to load certificateatau:
SSL_CTX_use_PrivateKey_file failedFokus pemeriksaan pada lokasi sertifikat, private key, permission file, dan kecocokan pasangan sertifikat dengan private key.
Jika tidak ada error pada log, bukan berarti seluruh konfigurasi sudah benar. Kegagalan koneksi yang terjadi sebelum mencapai web server memang belum tentu tercatat dalam error log aplikasi.
Memastikan Port 443 Sudah Bisa Diakses dari Luar VPS
Setelah melakukan perubahan, jangan langsung menganggap masalah selesai.
Lakukan pengujian dari komputer atau jaringan yang berbeda dari VPS.
A. Menguji Koneksi TCP
Jika tersedia nc atau Netcat, jalankan:
nc -vz -w 5 203.0.113.10 443Ganti alamat IP dengan IP publik VPS kamu.
Jika berhasil, hasilnya kurang lebih:
Connection to 203.0.113.10 443 port [tcp/https] succeeded!Ini menunjukkan koneksi TCP menuju port 443 berhasil dibuat.
B. Menguji HTTPS
Selanjutnya, jalankan:
curl -Iv https://example.comPerhatikan apakah proses TLS berhasil dan server memberikan respons HTTP.
Beberapa kemungkinan hasil:
| Hasil | Interpretasi |
|---|---|
| HTTP 200 | Server memberikan respons sukses |
| HTTP 301 atau 302 | Server melakukan redirect |
| HTTP 403 | Permintaan ditolak pada lapisan HTTP |
| HTTP 404 | Resource tidak ditemukan |
| SSL certificate error | Ada masalah validasi sertifikat |
| Connection refused | Koneksi ditolak |
| Connection timed out | Koneksi tidak memperoleh respons tepat waktu |
Perlu diingat, mendapatkan HTTP 403 atau 404 tetap menunjukkan bahwa koneksi TCP dan HTTPS sudah mencapai tahap pemrosesan HTTP.
C. Menguji Menggunakan Browser
Terakhir, buka:
https://example.comPastikan:
Website dapat diakses melalui HTTPS.
Tidak muncul pesan koneksi gagal.
Sertifikat SSL valid untuk domain.
Browser tidak mengalami redirect berulang.
Website memberikan respons sesuai konfigurasi yang diharapkan.
Jika semuanya berjalan normal, berarti konektivitas port 443 sudah berfungsi dari sisi pengujian tersebut.
Ringkasan Diagnosis Berdasarkan Gejala
Agar kamu tidak perlu mengulang semua pemeriksaan dari awal, gunakan tabel berikut untuk menentukan arah troubleshooting.
| Gejala | Pemeriksaan utama |
|---|---|
Tidak ada output ss | Status web server dan konfigurasi listener |
Listening hanya di 127.0.0.1 | Binding alamat IP |
| Localhost berhasil, luar timeout | Firewall lokal, provider, dan routing |
| Paket SYN tidak sampai ke VPS | Firewall eksternal atau jaringan |
| Paket SYN masuk tetapi tidak ada respons | Firewall lokal dan network stack |
| TCP berhasil, TLS gagal | Sertifikat dan konfigurasi SSL |
| IPv4 berhasil, IPv6 gagal | Binding IPv6, firewall, dan DNS AAAA |
| HTTP 403 atau 404 | Konfigurasi virtual host dan aplikasi |
Tabel ini merupakan panduan untuk menentukan pemeriksaan berikutnya, bukan penetapan penyebab secara otomatis.
Cara Mencegah Port 443 Kembali Bermasalah
Setelah HTTPS berhasil diakses, ada beberapa hal yang sebaiknya kamu perhatikan agar masalah serupa tidak mudah terulang.
A. Dokumentasikan Aturan Firewall
Catat aturan firewall yang digunakan, termasuk:
Port yang dibuka.
Protokol yang digunakan.
Alamat IP yang diizinkan.
Firewall yang mengelola aturan tersebut.
Aturan firewall dari provider VPS.
Dokumentasi ini akan membantu ketika kamu melakukan migrasi server atau perubahan konfigurasi jaringan.
B. Backup Konfigurasi Web Server
Sebelum mengubah konfigurasi Nginx, Apache, atau OpenLiteSpeed, buat salinan file terlebih dahulu.
Contoh:
sudo cp /etc/nginx/nginx.conf /etc/nginx/nginx.conf.backupSesuaikan lokasi file jika menggunakan konfigurasi berbeda.
Dengan demikian, kamu memiliki salinan konfigurasi sebelumnya apabila perubahan menyebabkan service gagal berjalan.
C. Validasi Sebelum Reload atau Restart
Biasakan melakukan pemeriksaan konfigurasi sebelum menerapkan perubahan.
Nginx:
sudo nginx -tApache:
sudo apachectl configtestJangan melakukan reload atau restart ketika konfigurasi belum valid.
D. Pantau Status Service
Kamu bisa memeriksa status web server secara berkala.
Contoh untuk Nginx:
systemctl is-active nginxUntuk OpenLiteSpeed:
systemctl is-active lswsJika hasilnya active, service sedang berstatus aktif menurut systemd. Namun, status tersebut belum menjamin port 443 dapat diakses dari internet.
Karena itu, pemantauan service sebaiknya dikombinasikan dengan pemeriksaan port dan pengujian HTTPS eksternal.
E. Perhatikan Perubahan DNS dan IP VPS
Jika kamu mengganti IP VPS, pastikan record DNS A dan AAAA diperbarui sesuai konfigurasi jaringan baru.
Jangan menganggap perubahan IP hanya memengaruhi DNS. Firewall provider, binding web server, dan konfigurasi IPv6 juga mungkin perlu disesuaikan.
FAQ Seputar Port 443 Tidak Bisa Diakses dari Luar VPS
1. Kenapa port 443 tertutup padahal SSL sudah terpasang?
Karena sertifikat SSL tidak otomatis membuat web server mendengarkan port 443. Kamu tetap membutuhkan konfigurasi HTTPS listener atau virtual host, serta aturan firewall yang mengizinkan koneksi masuk.
2. Bagaimana cara membuka port 443 di Ubuntu VPS?
Jika menggunakan UFW, jalankan:
sudo ufw allow 443/tcpKemudian periksa:
sudo ufw statusPastikan firewall provider VPS juga mengizinkan inbound TCP port 443.
3. Apa perbedaan port 443 connection refused dan timeout?
Connection refused menunjukkan koneksi ditolak oleh tujuan atau perangkat jaringan yang merespons. Sementara timeout menunjukkan koneksi tidak mendapatkan respons yang dibutuhkan dalam batas waktu pengujian.
Keduanya bisa disebabkan oleh konfigurasi jaringan yang berbeda sehingga perlu diperiksa lebih lanjut.
4. Apakah port 443 harus dibuka jika website menggunakan Cloudflare?
Tergantung mode koneksi Cloudflare yang digunakan.
Jika menggunakan proxy Cloudflare, koneksi dari Cloudflare menuju origin server tetap harus dapat menjangkau port HTTPS yang digunakan. Jika origin menggunakan HTTPS pada port 443, port tersebut harus diizinkan untuk alamat IP Cloudflare.
Untuk keamanan, kamu dapat membatasi akses origin hanya dari IP Cloudflare apabila memang seluruh trafik website harus melewati proxy tersebut.
5. Apakah port 443 bisa digunakan oleh dua web server sekaligus?
Tidak pada kombinasi alamat IP dan port yang sama secara normal.
Misalnya, Nginx dan Apache tidak dapat secara bersamaan melakukan binding biasa pada 0.0.0.0:443.
Jika ingin menggunakan keduanya, kamu dapat mengatur salah satunya sebagai reverse proxy, kemudian meneruskan permintaan ke web server lainnya melalui port internal yang berbeda.
Penutup
Ketika port 443 tidak bisa diakses dari luar VPS, jangan langsung menyalahkan SSL atau mematikan firewall. Mulailah dengan memastikan web server benar-benar listening pada port 443, kemudian uji HTTPS secara lokal dan periksa aturan firewall Linux serta firewall provider.
Jika pemeriksaan tersebut belum menemukan penyebabnya, gunakan tcpdump untuk melihat apakah paket TCP dari luar benar-benar sampai ke VPS.
Dengan pendekatan tersebut, kamu bisa membedakan masalah pada web server, konfigurasi SSL, firewall, DNS, maupun jaringan tanpa harus melakukan perubahan konfigurasi secara acak.
Jika port 443 masih tidak bisa diakses setelah seluruh pemeriksaan dilakukan, kumpulkan hasil ss, status firewall, pengujian curl, dan tangkapan tcpdump. Informasi tersebut akan jauh lebih membantu ketika melakukan investigasi lanjutan.
Referensi Teknis
Dokumentasi berikut dapat digunakan untuk mempelajari konfigurasi dan perilaku komponen yang dibahas dalam artikel:
- Dokumentasi Firewall Ubuntu
- Konfigurasi Listener OpenLiteSpeed
- Konfigurasi SSL OpenLiteSpeed
- Dokumentasi Directive Listen Nginx
- Dokumentasi iptables dan nftables


