13

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

Сервер A Сервер B Сервер C

В настоящее время я могу использовать только один сервер, поскольку мой порт 80 (xx.xxx.xx.xx) 80 указывает на сервер A. Однако некоторые домены указывают на сервер A, некоторые на B и т.д.

С моим одним IP-адресом, как я могу указать на каждый сервер? Например, все мои записи A(host) указывают только на мой IP-адрес.

Извините, если я звучу запутанно. Дайте мне знать, если мне не ясно.

Каждый сервер работает под управлением Ubuntu Server 12.04.02 и использует Apache (если это помогает). Мой роутер тоже Netgear, а мой провайдер - Time Warner Cable.

1 ответ1

8

Веб-сайты будут распознаваться через заголовок Host: отправленный из браузера. Но так как ваш маршрутизатор не способен к разметке HTTP, используемой виртуальным хостингом, вам нужно будет выбрать один сервер в качестве "конечной точки" (и сообщить вашему маршрутизатору этот адрес как Virtual Server / DMZ).

Затем вы либо настраиваете эту машину в качестве веб-сервера для своих доменов и прокси для других (например, с помощью обратного прокси-сервера Apache), либо (возможно, лучше) устанавливаете прокси на этой одной машине и используете его для мультиплексирования запросов к другим серверам. , Некоторые домены могут быть даже размещены на одном компьютере. nginx подходит для такой работы, но вы также можете использовать другое программное обеспечение (например, pound).

Я думаю, что второе решение лучше, потому что вам вообще не нужно манипулировать конфигурациями веб-серверов: один прокси-сервер выполняет прокси-сервер, а несколько веб-серверов выполняют веб-обслуживание. Если вам нужно добавить серверы или переместить виртуальные хосты, эту архитектуру проще поддерживать.

                                    +-- virtual hosts 1..9 -- server B
                                    |
router ----- machine A (nginx?) ----+-- virtual hosts 10..23- server C
                                    |
                                    +-- virtual hosts 24..99- server D

Добавленная задержка из-за того, что запрос декодируется дважды (один раз прокси, один раз его предполагаемым получателем), незначителен и более чем компенсируется ускорением, обеспечиваемым самим прокси.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .