- The
hosts
file untuk resolusi nama host hanya
- The Browser , dengan tidak adanya langsung menentukan port: yaitu
<hostname>:<port>
, default port80
Skenario Masalah Khas
- aplikasi biasanya mengatur server mereka ke alamat ip default yang sama
127.0.0.1
alias localhost
(didefinisikan dalam file host) .
untuk menghindari tabrakan antara kemungkinan server lain yang ada / berjalan, aplikasi biasanya memungkinkan Anda untuk mengubah port, tetapi bukan alamat ip.
2a. Jika Anda bisa mengubah alamat IP server ke yang lain di ruang alamat loopback yang dicadangkan 127.0.0.0/8
, maka Anda mungkin tidak akan mencoba untuk mengatur port di file host.
Solusi yang mungkin
Anda dapat mengatasi ini menggunakan alat Jaringan yang disertakan Windowsnetsh
sebagai proxy port.
Gambaran
example.app
| <--browser defaults to port 80
+--> example.app:80
| <--Hostname resolution by Hosts File
+--> 127.65.43.21:80
| <--Link by netsh Utility
+--> 127.0.0.1:8081
Tindakan
- Mulai server Anda
localhost:8081
- Tambahkan "DNS lokal" di file host sebagai baris baru
127.65.43.21 example.app
- Setiap alamat gratis di jaringan
127.0.0.0/8
dapat digunakan.
- Catatan: Saya berasumsi
127.65.43.21:80
tidak ditempati oleh layanan lain.
- Anda bisa memeriksanya
netstat -a -n -p TCP | grep "LISTENING"
- tambahkan konfigurasi jaringan berikut dengan utilitas
perintah netsh
netsh interface portproxy add v4tov4 listenport=80 listenaddress=127.65.43.21 connectport=8081 connectaddress=127.0.0.1
- Akses server di
http://example.app
Catatan:
- Perintah / modifikasi file ini harus dijalankan dengan hak Admin
- netsh portproxy membutuhkan pustaka ipv6 bahkan hanya untuk menggunakan v4tov4, biasanya mereka juga akan disertakan secara default, jika tidak menginstalnya menggunakan perintah berikut:netsh interface ipv6 install
Anda dapat melihat entri yang telah Anda tambahkan dengan perintah:
netsh interface portproxy show v4tov4
Anda dapat menghapus entri dengan perintah berikut:
netsh interface portproxy delete v4tov4 listenport=80 listenaddress=127.65.43.21
Tautan ke Sumber Daya:
Catatan: jawaban ini adalah duplikat dari jawaban saya yang dibahas dalam pertanyaan / jawaban serupa di stackoverflow ini.