Saya ingin menentukan nama host dengan dua port berbeda di hosts
file Windows .
Apakah ada cara untuk melakukannya? Atau tidak diizinkan oleh Windows sendiri?
Saya telah membuang waktu untuk mencari solusi selama 8 jam terakhir.
Apakah mungkin untuk menentukan port di file host hosts
,? Misalnya: 127.0.0.1:80
dan127.0.0.1:9211
windows
ip-address
localhost
Peter Mortensen
sumber
sumber
Jawaban:
Cukup gunakan alamat IP tanpa port. Contoh:
Kemudian, untuk mengakses 192.168.2.50-5555 dari browser Anda (atau program lain):
Itu
hosts
file dapat ditemukan di:Linux
/etc/hosts
Windows :
C:\Windows\System32\drivers\etc\hosts
sumber
C:\Windows\System32\drivers\etc\hosts
?Anda tidak dapat mengaitkan nomor port dengan nama host yang dipetakan ke IP dalam file host. Anda dapat mencapai ini dengan Fiddler melalui FiddlerScript:
sumber
hosts
file untuk resolusi nama host hanya<hostname>:<port>
, default port80
Skenario Masalah Khas
127.0.0.1
aliaslocalhost
(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 Windows
netsh
sebagai proxy port.Gambaran
Tindakan
localhost:8081
127.65.43.21 example.app
127.0.0.0/8
dapat digunakan.127.65.43.21:80
tidak ditempati oleh layanan lain.netstat -a -n -p TCP | grep "LISTENING"
netsh interface portproxy add v4tov4 listenport=80 listenaddress=127.65.43.21 connectport=8081 connectaddress=127.0.0.1
http://example.app
Catatan:
- Perintah / modifikasi file ini perlu 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 merupakan duplikat dari jawaban saya yang dibahas dalam pertanyaan / jawaban serupa ini di stackoverflow.
sumber