Использование номера порта в файле хоста 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.

Выполните следующие действия:

  • Установить Fiddler2
  • Перейдите в меню Fiddler2: - Инструменты > HOSTS.. (Нажмите, чтобы выбрать)
  • Добавьте строку, подобную этой: -

    localhost:8080 www.mydomainname.com

  • Сохраните файл, а затем проверьте www.mydomainname.com в браузере.

Ответ 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 направлены на сервер.