Перенаправление http-запросов на основе полного доменного имени - PullRequest
0 голосов
/ 15 февраля 2012

Допустим, у меня есть несколько http-серверов для каждой мыслимой технологии. Например, Apache для PHP, Tomcat для JSP и т. Д., Работающий на одной машине с одним физическим интерфейсом с одним общедоступным IP-адресом.

Теперь я хочу, чтобы все они отвечали на один и тот же порт, 80 конечно. Что невозможно, так как одно приложение = один порт, использующий TCP / IP. Я знаю, что Apache, например, может интегрировать Tomcat и обрабатывать запросы на страницах .jsp, но я думаю о другом, более универсальном подходе.

Возможно, может быть, лучше спросить, есть ли приложение, которое может предварительно фильтровать http-запросы и перенаправлять их на другой порт? На основании запрашиваемого домена? В обе стороны? Таким образом, клиент будет думать, что он говорит с портом 80, но внутренне он будет обслуживаться Tomcat, работающим на порте 8080? Я надеюсь, вы понимаете, о чем я.

Спасибо.

1 Ответ

0 голосов
/ 15 февраля 2012

Я бы использовал обратный прокси, такой как apache mod_proxy. Обратный прокси-сервер перенаправляет входящие запросы на нужный сервер, даже если все серверы находятся на одном физическом хосте.

Обратные прокси могут использоваться всякий раз, когда несколько веб-серверов должны быть доступны через один публичный IP-адрес. Веб-серверы прослушивают разные порты на одном и том же компьютере, с одним и тем же локальным IP-адресом или, возможно, на разных компьютерах и с разными локальными IP-адресами. Обратный прокси анализирует каждый входящий вызов и доставляет его на нужный сервер в локальной сети.

http://en.wikipedia.org/wiki/Reverse_proxy

...