Возможна ли переадресация только на один порт 8080 на локальный хост (Windows)?[закрыто]

StackOverflow https://stackoverflow.com/questions/332651

  •  22-07-2019
  •  | 
  •  

Вопрос

Я знаю, как настроить локальный веб-сервер с помощью xampp в Windows...Я ввожу свой псевдоним и цель в файле хостов (c:\windows\system32\drivers\etc\hosts), а затем добавляю соответствующую запись в файл конфигурации Apache vhosts.Таким образом, предполагая, что мой веб-сервер прослушивает порт 80, я могу, например, сопоставить example.com на мой локальный веб-сервер.

Я всегда вводил полное доменное имя (например,example.com) в моем файле хостов, и любые запросы по этому имени будут направляться на локальный хост.

Теперь мне было интересно, есть ли способ пересылать example.com только на определенный порт (например, только example.com:8080) на локальный веб-сервер и оставьте example.com (на порту по умолчанию 80) в покое, чтобы он по-прежнему перешел на мой работающий веб-сайт.

Насколько я понимаю, это может быть невозможно, используя только файл хостов (я пробовал добавить порт: 8080 к своим доменным именам - не помогло ;-))...

Я действительно мало что знаю по этой теме, поэтому любые идеи, идеи, ссылки, материалы для чтения и инструменты приветствуются.

Редактировать:Ответ Арну отвечает на вопрос, который я задал выше, но не решает мою реальную проблему.Перенаправление example.com:8080 на localhost:80 работает, и если я захожу на example.com, он загружает главную страницу моей локальной версии, но все ссылки на этой странице, конечно, не знают о номере порта и поэтому указывают на производственная версия...Реальное решение моей проблемы, кажется, состоит в том, чтобы откусить кислое яблоко и исправить мое приложение (по предложению Роба) и удалите все жестко закодированные URL-адреса, чтобы оно работало на любом домене...

Это было полезно?

Решение

Internet Junkbuster (прокси-сервер) может сделать это, используя свой пересылка функциональность.

Просто добавьте строку типа

example.com:8080   localhost:80   .   .

к sforward.ini, и раскомментируйте forwardfile линия в junkbstr.ini.Теперь настройте свой браузер на использование прокси-сервера, работающего на порту 8000 локального хоста, и все готово.

Я уверен, что у других прокси-серверов есть подобная функция — мне просто нравится Junkbuster, поскольку это простой автономный исполняемый файл.

Другие советы

Вы играете в сфере служб доменных имен (DNS).Технически, с расширенной конфигурацией DNS (которая может включать в себя переназначение портов), то, что вы предлагаете, возможно, и это обычно делается в Интернете.Однако маловероятно, что вам захочется пойти на такие большие хлопоты и расходы на местном уровне.

С другой стороны, я подозреваю, что вашу реальную проблему можно решить проще.Зачем вам нужно, чтобы «example.com» разрешался на вашем локальном веб-сервере?Вы уже можете ссылаться на свой локальный веб-сервер как «localhost», «127.0.0.1» и через присвоенное ему имя компьютера «workstation-x».

Единственная причина, о которой я могу думать и которую я видел, для желания ссылаться на ваш локальный веб-сервер с тем же именем хоста, что и у вашего рабочего веб-сервера, связана с жестким кодированием имени хоста сервера в ваших ссылках в сети вашего приложения. страницы.Если это так, то ответ прост:не!Вам ВСЕГДА следует реализовывать свои веб-приложения так, чтобы они ссылались на все (другие страницы, CSS, JS, изображения и т. д.) относительно развернутого сервера.Если вы выполняете развертывание на нескольких серверах, ваши ссылки должны быть абсолютными и основаны на настраиваемых именах хостов серверов.Это легко сделать, и нет причин не делать этого.

Если это не так, объясните, чего вы пытаетесь достичь и что мотивирует вас попытаться.

РЕДАКТИРОВАТЬ:Поскольку вы подтвердили мое предположение о том, что проблема заключается в жестко закодированных ссылках на имя производственного хоста на веб-страницах, позвольте мне просто добавить, что я ВСЕГДА, БЕЗ ИСКЛЮЧЕНИЯ, обнаружил, что дешевле исправить реальную проблему, чем накапливать обходные пути. (например, ваша попытка переназначить порты).Я никогда не встречал автора, который утверждал бы обратное.

Исправить страницы должно быть немного сложнее, чем глобальный поиск и замену, особенно с помощью приличного текстового редактора.Даже написание простого сценария для изменения исходных файлов будет намного дешевле и проще, чем ваши попытки обходного пути.

В любом случае, желаю вам всего наилучшего и дайте нам знать, как все получилось.

Можете ли вы подтвердить, что порт 8080 прослушивается на веб-сервере?используйте команду «netstat -na», чтобы узнать, прослушивается ли порт 8080.

Вы добавили порт 8080 в файл конфигурации Apache так же, как порт 80 по умолчанию?

После того, как вы добавите порт 8080 в файл конфигурации Apache, чтобы он прослушивался, и дважды проверьте, прослушивает ли порт 8080 на веб-сервере, вы сможете получить доступ к странице, используя порт 8080.нравиться http://mytestwebserver:8080/index.html или что-то в этом роде....

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top