Di Mac Anda, periksa alamat listening server dengan lsof, lalu—jika diperlukan—coba sambungkan ke IP Wi-Fi atau Ethernet Mac Anda dari perangkat lain di jaringan yang sama. Alamat loopback seperti 127.0.0.1 atau ::1 hanya bersifat lokal; alamat wildcard seperti 0.0.0.0 atau :: dapat menerima koneksi melalui antarmuka jaringan. Pastikan alamat sebenarnya dan uji port tertentu sebelum menentukan jangkauan server.

1. Temukan alamat listening server

Saat server pengembangan berjalan, buka Terminal dan jalankan perintah ini, ganti 8000 dengan port-nya:

lsof -nP -iTCP:8000 -sTCP:LISTEN

lsof menampilkan daftar file yang terbuka, termasuk soket jaringan; filter status TCP-nya dapat memilih listener. Opsi -nP menjaga alamat tetap numerik dan mencegah nomor port ditampilkan sebagai nama layanan. Manual lsof Apple

Lihat kolom NAME. Hasil yang berakhiran 127.0.0.1:8000 (LISTEN) terikat pada alamat loopback IPv4. localhost:8000 juga menunjukkan listener loopback, meskipun nama yang ditampilkan dapat bervariasi. Hasil yang menunjukkan *:8000 adalah listener wildcard untuk keluarga alamat tersebut. Periksa juga kolom TYPE: baris IPv4 dan IPv6 yang terpisah bisa berpengaruh. ::1 adalah loopback IPv6; :: adalah wildcard IPv6. Pada beberapa sistem, listener wildcard IPv6 mungkin juga menerima koneksi IPv4, jadi daftar tersebut saja mungkin belum memastikan detail tersebut.

Jika perintah tidak mengembalikan hasil apa pun, pastikan server masih berjalan, Anda menggunakan port yang benar, dan server mendengarkan pada TCP. Perintah ini tidak memeriksa listener UDP. Jika lsof tidak menampilkan hasil tanpa izin yang ditingkatkan (elevated permissions), jalankan kembali dengan sudo hanya jika Anda perlu memeriksa proses yang dimiliki oleh akun lain; macOS mungkin meminta kata sandi login Anda.

2. Pahami alamat sebagai petunjuk keterjangkauan

Listener yang terikat pada alamat loopback tertentu hanya menerima koneksi yang ditujukan ke antarmuka loopback tersebut, bukan ke alamat LAN Mac Anda. Alamat wildcard berarti soket tidak dibatasi untuk loopback, sehingga mungkin dapat dijangkau melalui antarmuka jaringan. Apple mendeskripsikan soket listening sebagai soket yang menunggu koneksi masuk. Ringkasan Apple tentang server berbasis TCP

Wildcard bukan bukti bahwa perangkat lain pasti dapat terhubung. Server harus tetap berjalan pada port tersebut; pengaturan firewall macOS, isolasi klien router atau Wi-Fi, dan kondisi jaringan lainnya dapat memengaruhi koneksi. Sebaliknya, pengujian peramban yang berhasil di Mac menggunakan localhost hanya membuktikan bahwa koneksi lokal berfungsi.

3. Uji akses dari perangkat lain di jaringan Anda

Temukan alamat Mac untuk jaringan yang ingin Anda uji. Untuk Wi-Fi, Apple mendokumentasikan cara menemukan alamat IP koneksi di pengaturan Wi-Fi atau menu status Wi-Fi; kontrol pastinya dapat bervariasi menurut versi macOS. Panduan pengaturan Wi-Fi Apple

Dari perangkat kedua yang terhubung ke LAN yang sama, buka peramban atau gunakan klien HTTP untuk meminta http://MAC-IP:8000, dengan mengganti alamat Mac saat ini dan port server. Misalnya, jika alamat LAN Mac adalah 192.168.1.23 dan port-nya 8000, coba http://192.168.1.23:8000. Respons menunjukkan bahwa klien ini berhasil menjangkau layanan melalui rute tersebut; batas waktu habis (timeout) atau penolakan, dengan sendirinya, tidak mengidentifikasi penyebabnya. Pastikan kedua perangkat berada di jaringan yang dimaksud dan periksa kembali listener sebelum menyelidiki pengaturan firewall atau jaringan.

4. Buat pengikatan (bind) hanya-lokal secara eksplisit jika didukung

Pengaturan yang benar berada pada server pengembangan, bukan pada sakelar macOS universal. Misalnya, http.server milik Python mendukung opsi --bind; dokumentasinya menyebutkan bahwa pengaturan default mengikat ke semua antarmuka, sedangkan perintah ini mengikat ke loopback IPv4:

python3 -m http.server --bind 127.0.0.1 8000

Ini berfungsi jika Python 3 terinstal. Python mendokumentasikan opsi bind dan perilaku default-nya. Dokumentasi http.server Python

Alat lain menyediakan pengaturan host atau bind masing-masing. Node.js mendokumentasikan bahwa tidak menyertakan host pada server.listen() akan memilih alamat yang tidak ditentukan (unspecified address), dengan perilaku yang bergantung pada ketersediaan IPv6. Periksa dokumentasi untuk server dan versi Anda; jangan berasumsi bahwa sebuah flag dari framework lain dapat diterapkan. Dokumentasi Node.js net.Server Setelah mengubah pengaturan, mulai ulang server dan ulangi pemeriksaan lsof. Pengujian LAN berguna saat Anda berniat membagikan akses, tetapi mengikat ke alamat LAN atau wildcard dapat mengekspos layanan pengembangan ke perangkat lain yang dapat menjangkaunya.

Sumber