Я хочу указать имена хостов с двумя разными портами в hosts
файле Windows .
Есть ли способ сделать это? Или это не разрешено самой Windows?
Я трачу свое время на поиски решения в течение последних 8 часов.
Можно ли указать порты в файле хоста hosts
? Например: 127.0.0.1:80
и127.0.0.1:9211
windows
ip-address
localhost
Питер Мортенсен
источник
источник
Ответы:
Просто используйте IP-адреса без портов. Пример:
Затем для доступа к 192.168.2.50:5555 из вашего браузера (или другой программы):
hosts
Файл можно найти по адресу:Linux
/etc/hosts
Windows :
C:\Windows\System32\drivers\etc\hosts
источник
C:\Windows\System32\drivers\etc\hosts
?Вы не можете связать номер порта с именем хоста, сопоставленным с IP в файле hosts. Вы можете достичь этого с помощью Fiddler, используя FiddlerScript:
источник
hosts
Файл только для разрешения имен<hostname>:<port>
, по умолчанию порт80
Сценарий типичной проблемы
127.0.0.1
акаlocalhost
(определенного в файле хостов) .чтобы избежать коллизий между, возможно, другими существующими / работающими серверами, приложение, как правило, позволяет изменить порт, но не IP-адрес.
2а. Если бы вы могли изменить ip-адрес сервера на другой в зарезервированном адресном пространстве loopback
127.0.0.0/8
, вы, вероятно, не пытались бы устанавливать порты в файле hosts.Возможное решение
Вы можете обойти это, используя Windows Networking Network
netsh
в качестве прокси порта.обзор
действия
localhost:8081
127.65.43.21 example.app
127.0.0.0/8
может быть использован.127.65.43.21:80
что не занят другой службой.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
Примечания:
- Эти команды / изменения файла должны выполняться с правами администратора.
- netsh portproxy нуждается в библиотеках ipv6 даже только для использования v4tov4, обычно они также будут включены по умолчанию, в противном случае установите их с помощью следующей команды:
netsh interface ipv6 install
Вы можете увидеть запись, которую вы добавили с помощью команды:
netsh interface portproxy show v4tov4
Вы можете удалить запись с помощью следующей команды:
netsh interface portproxy delete v4tov4 listenport=80 listenaddress=127.65.43.21
Ссылки на ресурсы:
Примечание: этот ответ является дублированием моего ответа, который обсуждался в этом аналогичном вопросе / ответе по stackoverflow.
источник