Chcę określić nazwy hosta z dwoma różnymi portami w hosts
pliku Windows .
Czy jest na to sposób? Czy też nie jest to dozwolone przez sam system Windows?
Przez ostatnie 8 godzin marnowałem czas na szukanie rozwiązania.
Czy można określić porty w pliku hosta hosts
? Np .: 127.0.0.1:80
i127.0.0.1:9211
windows
ip-address
localhost
Peter Mortensen
źródło
źródło
Odpowiedzi:
Po prostu użyj adresów IP bez portów. Przykład:
Następnie, aby uzyskać dostęp do 192.168.2.50:5555 z przeglądarki (lub innego programu):
hosts
Plik można znaleźć na stronie:Linux
/etc/hosts
Windows :
C:\Windows\System32\drivers\etc\hosts
źródło
C:\Windows\System32\drivers\etc\hosts
?Nie można powiązać numeru portu z nazwą hosta zamapowaną na adres IP w pliku hosts. Możesz to osiągnąć za pomocą Fiddler, używając FiddlerScript:
źródło
hosts
Plik jest tylko do rozpoznawania nazw hostów<hostname>:<port>
, domyślnie do portu80
Typowy scenariusz problemu
127.0.0.1
akalocalhost
(zdefiniowany w pliku hosts) .Aby uniknąć kolizji między ewentualnie innymi istniejącymi / działającymi serwerami, aplikacja zazwyczaj pozwala na zmianę portu, ale nie adresu IP.
2a. Jeśli możesz zmienić adres IP serwera na inny w zarezerwowanej przestrzeni adresowej pętli zwrotnej
127.0.0.0/8
, prawdopodobnie nie będziesz próbował ustawić portów w pliku hosts.Możliwe rozwiązanie
Można obejść ten problem za pomocą narzędzia sieciowego dołączonego do systemu Windows
netsh
jako proxy portu.Przegląd
działania
localhost:8081
127.65.43.21 example.app
127.0.0.0/8
Można użyć dowolnego bezpłatnego adresu w sieci .127.65.43.21:80
nie jest zajęty przez inną usługę.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
Uwagi:
- Te polecenia / modyfikacje plików muszą być wykonywane z uprawnieniami administratora
- netsh portproxy potrzebuje bibliotek ipv6 nawet tylko do korzystania z v4tov4, zazwyczaj będą one również domyślnie dołączone, w przeciwnym razie zainstaluj je za pomocą następującego polecenia:
netsh interface ipv6 install
Możesz zobaczyć wpis dodany za pomocą polecenia:
netsh interface portproxy show v4tov4
Możesz usunąć wpis za pomocą następującego polecenia:
netsh interface portproxy delete v4tov4 listenport=80 listenaddress=127.65.43.21
Linki do zasobów:
Uwaga: ta odpowiedź jest duplikatem mojej odpowiedzi omówionej w tym podobnym pytaniu / odpowiedzi na temat przepełnienia stosu.
źródło