Назад | Перейти на главную страницу

Перенаправление на сервер интрасети через определенный порт

В моем офисе я установил два сервера на одном компьютере с Windows 7 (и наша сеть является доменом Windows). Один из них - Apache, работающий на порту 80, а другой - это встроенный сервер трассировки, работающий на порту 8080. У меня есть запись DNS, которая перенаправляет reviewboard.etc.etc на сервер Apache, но для сервера трассировки он по-прежнему ожидает порт необходимо указать. Как мне сделать так, чтобы trac.etc.etc перенаправлялся на machinename: 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-адреса, сгенерированные прокси-сервером сломает

Я не знаю, что такое "trac", но если его порт по умолчанию - 8080, тогда установите запись A для вашего общедоступного IP-адреса и выполните NAT и межсетевой экран. В более вероятном случае это веб-приложение / сервер, тогда вы по-прежнему устанавливаете запись A, но DNS не знает порта, пользователям придется вводить 8080, если вы не настроите перенаправление через Apache, используя что-то вроде перенаправления мода. - Идея Сэма

Вы всегда можете использовать mod_proxy для беспрепятственной обработки перенаправления на другой сервер / порт в качестве сквозной передачи. Базовая документация для mod_proxy, доступная на apache.org, описывает, как это сделать.