Ponsel tidak bisa membuka halaman: periksa alamat mendengarkan
Halaman yang menjawab di localhost mungkin hanya terikat ke loopback. Baca alamat soket, lalu aturan firewall dan URL yang benar-benar dipakai ponsel.
Laptop menyajikan halaman di localhost, ponsel bergabung ke VPN yang sama, dan peramban di ponsel melaporkan bahwa situs tidak dapat dijangkau. Belum ada yang salah dengan terowongan, karena terowongan hanya mengantarkan paket. Server pengembangan yang terikat ke antarmuka loopback tidak pernah menerima koneksi yang dialamatkan ke hal lain, jadi tempat pertama yang perlu diperiksa adalah soket yang mendengarkan, bukan VPN.
Telusuri soket, pengaturan bind, aturan firewall, dan URL, dalam urutan itu.
Soket menjawab pertanyaan yang lebih sempit
Pendengar yang dibuat di 127.0.0.1 menerima lalu lintas dari mesin itu sendiri dan menolak semua yang datang ke alamat lain. Pendengar di alamat wildcard menerima di setiap antarmuka lokal, termasuk antarmuka VPN, yang lebih luas daripada yang dibutuhkan sebagian besar penyiapan pengembangan. Pendengar yang terikat ke satu alamat VPN tertentu adalah opsi berguna yang paling sempit, dan hanya berfungsi selama alamat itu ada.
Dari situ muncul dua jebakan penamaan. Di peramban ponsel, localhost berarti ponsel, bukan laptop. Alamat wildcard adalah nilai bind, bukan sesuatu yang diketik di URL. Siapa pun yang menguji dengan salah satunya akan melaporkan kegagalan yang tidak melibatkan jaringan sama sekali.
IPv6 menambah kasus ketiga, karena soket dapat menerima IPv4 dan IPv6 tergantung opsi yang mudah terlewat. Baca keluarga alamat di daftar. Entri wildcard untuk satu keluarga tidak menjelaskan yang lain.
Baca alamat mendengarkan
Periksa soket sebelum mengubah konfigurasi. Alamat lokal, porta, dan proses pemilik bersama-sama menunjukkan apakah server sama sekali dapat dijangkau dari VPN.
Get-NetTCPConnection -State Listen -LocalPort 8080 | Select-Object LocalAddress,LocalPort,OwningProcess Get-Process -Id (Get-NetTCPConnection -State Listen -LocalPort 8080).OwningProcess ipconfig | Select-String -Pattern 'IPv4' Get-NetFirewallRule -DisplayName '*8080*' | Format-Table DisplayName,Enabled,Profile,Direction,Action
Alamat lokal 127.0.0.1 menyelesaikan pertanyaan: tidak ada perubahan firewall yang akan membantu, karena aplikasi tidak mendengarkan di antarmuka VPN. Wildcard atau alamat VPN berarti soket baik-baik saja dan batas berikutnya berlaku.
Pastikan juga proses pemiliknya, karena layanan tak berkaitan di porta umum dapat membuat tabel tampak benar padahal server yang dimaksud tidak pernah mulai. Cocokkan jalur berkas yang dapat dieksekusi, bukan hanya namanya. Proses usang dari jalannya sebelumnya sering menjadi penyamar.
Ubah bind melalui aplikasi
Gunakan opsi alamat mendengarkan yang terdokumentasi dari framework dan mulai ulang proses. Jika laptop memiliki alamat privat 10.77.0.1, URL ponsel menjadi http://10.77.0.1:8080/ dan alamat itu harus dirutekan melalui VPN; tidak ada hal lain dalam penyiapan yang berubah.
Jangan menambahkan alamat sembarangan ke Windows dan jangan mengubah gateway untuk memaksa bind. Perubahan itu bertahan melewati sesi penelusuran kesalahan dan mengejutkan orang berikutnya. Server yang dimulai sebelum alamat VPN ada juga bisa gagal melakukan bind, jadi urutan mulai penting untuk antarmuka sementara. Beri satu percobaan ulang atau mulai setelah terowongan. Kegagalan bind saat boot tampak persis seperti masalah firewall keesokan paginya.
Untuk HTTPS, pertahankan nama host layanan dan validasi sertifikat secara utuh. Peringatan sertifikat pada alamat mentah adalah masalah penamaan, bukan langkah untuk diklik, dan DNS privat harus sesuai dengan pendengar yang Anda pilih.
Buka satu aturan, bukan seluruh jaringan
Setelah soket menerima di alamat VPN, firewall yang memutuskan apakah permintaan itu sampai. Batasi aturan pada aplikasi ini, protokol ini, porta lokal ini, dan sumber jarak jauh yang diizinkan, dan pastikan profil mana yang aktif pada adaptor VPN.
Gunakan alamat sumber yang benar-benar dilihat Windows, termasuk terjemahan apa pun yang dilakukan gateway, karena aturan yang ditulis untuk alamat klien asli tidak akan cocok dengan yang diterjemahkan.
Halaman yang termuat dan menampilkan kesalahan aplikasi adalah kemajuan: penolakan HTTP adalah kegagalan yang berbeda dari tidak adanya koneksi TCP, dan penyelidikan berikutnya milik kebijakan akses aplikasi itu sendiri, bukan jaringan.
Akhiri dengan meminta halaman dari ponsel yang dimaksud dan memastikan perangkat yang dikecualikan tetap tidak dapat menjangkaunya. Pendengar yang berfungsi dengan aturan yang mengizinkan segalanya bukan hasil yang sama.