Перенаправление на сервер интрасети через определенный порт
В моем офисе я установил два сервера на одной машине с Windows 7 (а наша сеть - это домен Windows). Один из них - Apache, работающий на порту 80, а другой - встроенный сервер trac, работающий на порту 8080. У меня есть запись DNS, которая перенаправляет reviewboard.etc.etc на сервер apache, но для сервера trac он все еще ожидает порт должен быть указан. Как сделать так, чтобы trac.etc.etc перенаправлял на имя машины:8080?
Редактировать:
Решение на случай, если кто-то наткнется на это позже. Следующие пошли внутрь <virtualhost *:80>
заблокировать файл, включенный в мой httpd.conf:
RewriteEngine on
RewriteCond %{HTTP_HOST} ^trac\.etc\.etc
RewriteRule (.*) http://localhost:8080$1 [P]
ProxyPassReverse / http://localhost:8080/
Отредактировано снова, чтобы включить ProxyPassReverse, без которого все URL, сгенерированные прокси-сервером , сломаются
2 ответа
Я не знаю, что такое "trac", но если его порт по умолчанию - 8080, тогда установите A-запись для вашего публичного IP-адреса и выполните NAT и Firewall через. В более вероятном случае это веб-приложение / сервер, тогда вы по-прежнему устанавливаете запись A, но DNS не распознает порт, пользователям придется вводить 8080, если вы не настроите перенаправление через Apache, используя что-то вроде мода перенаправления. - идея Сэма
Вы всегда можете использовать mod_proxy для беспрепятственной обработки перенаправления на другой сервер / порт в качестве проходного. Основная документация для mod_proxy, доступная на apache.org, описывает, как это сделать.