Использование номера порта в файле хоста Windows
После установки TeamViewer я изменил порт wampserver на 8080, поэтому адрес http://localhost:8080.
Для файла хоста, расположенного в C:\WINDOWS\system32\drivers\etc \, я также внес изменения, как показано ниже
ПЕРЕД
127.0.0.1 www.example.com
ПОСЛЕ
127.0.0.1:8080 www.example.com
Когда я захожу на www.example.com, он не перенаправляется на мой сервер wampserver, как я могу это исправить?
Ответы
Ответ 1
Файл hosts
предназначен только для разрешения имени хоста (как для Windows, так и для Unix-подобных систем). Вы не можете указывать номера портов там, и вы не можете делать то, что хотите, с общей конфигурацией на уровне ОС - браузер выбирает порт для выбора.
Так что используйте закладки или что-то в этом роде.
(Некоторое программное обеспечение брандмауэра/маршрутизации может разрешить перенаправление исходящего порта, но это не похоже на привлекательный вариант для этого.)
Ответ 2
То, что вы хотите, может быть достигнуто путем изменения файла hosts через приложение Fiddler 2.
Выполните следующие действия:
Ответ 3
Мне удалось добиться этого с помощью Windows сетевого инструмента netsh
.
Как указывает Мэт: файл hosts предназначен только для разрешения имен хостов, поэтому сочетание этих двух дел помогло мне.
Пример
Обзор
example.app:80
| <--Link by Hosts File
+--> 127.65.43.21:80
| <--Link by netsh Utility
+--> localhost:8081
действия
- Запустил мой сервер на
localhost:8081
- Добавил мой "локальный DNS" в файл хостов в виде новой строки
127.65.43.21 example.app
- Можно использовать любой свободный адрес в сети
127.0.0.0/8
(127.x.x.x
).
- Примечание. Я предполагаю, что
127.65.43.21:80
не занят другой службой.
- Вы можете проверить с помощью
netstat -a -n -p TCP | grep "LISTENING"
- добавил следующую сетевую конфигурацию с помощью утилиты netsh command
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
Ссылки на ресурсы:
Ответ 4
Fiddler2 → Правила → Пользовательские правила
затем найдите функцию OnBeforeRequest в следующем конце script в конце:
if (oSession.HostnameIs("mysite.com")){
oSession.host="localhost:39901";
}
Ответ 5
-Вы можете использовать любой свободный адрес в сети 127.0.0.0/8, в моем случае это необходимо для флешки python, и это то, что я сделал:
добавьте эту строку в файл hosts (вы можете найти ее под Windows: C:\Windows\System32\drivers\etc):
127.0.0.5 flask.dev
-
Убедитесь, что порт является портом по умолчанию "80", в моем случае это то, что в колбе питона: app.run("127.0.0.5","80")
-
теперь запустите свой код и просмотрите flask.dev
Ответ 6
Самый простой способ - использовать Ergo как ваш обратный прокси-сервер:
https://github.com/cristianoliveira/ergo
Вы устанавливаете свои сервисы и свои IP: PORT и ergo перенаправляет его для вас:).
Вы можете добиться того же, используя nginx
или apache
, но вам нужно будет их настроить.
Ответ 7
Если происходит то, что у вас есть другой сервер, работающий на localhost, и вы хотите дать этому новому серверу другое локальное имя хоста, например
http://teamviewer/
Я думаю, что фактически вы ищете функциональность виртуальных хостов. Я использую Apache, поэтому я не знаю, как это поддерживают другие веб-демоны. Возможно, это называется Alias. Вот документация Apache:
Примеры виртуальных хостов Apache
Ответ 8
Использование netsh с connectaddress = 127.0.0.1 не работает для меня.
Несмотря на то, что я искал повсюду в Интернете, я не смог найти решение, которое решило бы эту проблему для меня, которое заключалось в использовании connectaddress = 127.xxx (т.е. любого адреса 127. ipv4, просто не 127.0.0.1), так как это похоже на обратную ссылку на localhost просто то же самое, но без ограничения, так что петля работает в netsh.
Ответ 9
Вам понадобится HTTP-сервер NGNIX или Apache в качестве прокси-сервера для пересылки http-запросов в соответствующее приложение → которое прослушивает определенный порт (или делает это с CNAME, предоставляющей хостинговую компанию). Это наиболее эффективное решение, и это просто очень простой способ добавления новых поддоменов или автоматического добавления новых доменов, когда записи DNS направлены на сервер.