У меня есть один сервер, который уже занимает порт 80 (рабочий сайт), и у меня есть другой сервер, на котором запущен WordPress Mu, который может работать ТОЛЬКО на порту 80.
Есть ли способ с помощью моего маршрутизатора перенести порт 81 в установку WordPress так, чтобы он выглядел как порт 80?
решение1
Настройка переадресации портов должна быть простой. Вы используете стандартную прошивку или что-то еще, например ddwrt? Проблема, с которой вы можете столкнуться, заключается в том, что установка wordpressmu может выводить абсолютные URL-адреса. Если это так, они не будут включать правильный порт.
Вы можете настроить HTTP-прокси, на который вы перенаправляете порт 80. Затем этот прокси можно настроить для пересылки запроса на правильный внутренний хост на основе имени хоста. Если ваш существующий веб-сайт уже работает под управлением Apache, вы можете просто настроить там дополнительный виртуальный хост и включить прокси.
решение2
Предполагая, что запрос поступает извне через маршрутизатор, вы можете настроить его на переадресацию внешнего порта 81 на IP-адрес и порт 80 на вашем внутреннем сервере.
Проверьте настройки брандмауэра и добавьте переадресацию портов.
Вот он, в настройке:
Приложения и игры > Переадресация диапазона портов
Из руководства:
Чтобы перенаправить порт, введите информацию в каждой строке для требуемых критериев.
ПриложениеВ этом поле введите имя, которое вы хотите дать приложению. Каждое имя может содержать до 12 символов.
Начать конецЭто диапазон портов. Введите номер, с которого
начинается диапазон портов, в
столбце Start и номер, с которого заканчивается
диапазон, в столбце End.Протокол Выберите протокол, используемый для этого приложения: TCP или UDP, или оба.
Айпи адресДля каждого приложения введите IP-адрес ПК, на котором запущено конкретное
приложение.Давать возможностьВыберите Включить, чтобы включить переадресацию портов для соответствующего приложения.
решение3
Проблема с упомянутыми до сих пор методами заключается в том, что решение либо сложнее, чем нужно (прокси, настройки переадресации нескольких портов), либо нагружает клиента (альтернативный порт). Почему бы не запустить оба сайта на порту 80 и не использовать заголовки хоста для их различения? Это позволяет вам иметь единое правило переадресации портов на вашем брандмауэре (порт 80), позволяет вам запускать несколько уникальных веб-сайтов внутри и позволяет посетителям вашего веб-сайта подключаться так же, как и к любому другому веб-сайту, без необходимости указывать номер порта в своем браузере. Таким образом я запускаю 6 уникальных веб-сайтов на своем домашнем сервере.
Это должно сработать, если только я не правильно понял ваш вопрос.
решение4
Мне удалось обойти это с помощью обратного прокси в IIS, который работает как mod_proxy и транслирует все после / на внутренний сайт, используя файл HOSTS и сопоставляя домен с внутренним IP. Это грязно, но работает.