LINUX.ORG.RU
ФорумAdmin

Обьединение web-серверов на NGINX

 ,


0

1

Доброго времени суток :)

Есть у меня в сети два web-сервера, оба на nginx, режим доступа к ним - в хостах юзеров прописано какое доменное имя к какому IP завязан. На каждом сервере есть по нескольку ресурсов - всяческие реестры и системы учёта. Объединить всё в один - нельзя, уровни секретности, епт.
На сервере А есть ресурсы А1 и А2.
На сервере В есть ресурсы В1, В2 и В3.

Отныне нужно эти два сервера как-то вывести в глобальную сеть, внешний IP у нас один. С роутера проброшен порт на сервер А.

Нужно настроить сие таким образом дабы запрос к серверу А отдавался юзеру, а запрос к серверу В проходил через А отрабатывался на сервере В и возвращался юзеру.

В принципе на сервере А в конфигах nginx'а можно забить все домены с сервера В и через proxy_pass гонять все нужные запросы на сервер В.
Но правильно ли сие? Можно ли как-то перенаправлять запросы не nginx'ом, а... чем-то более легковесным (например iptables)? И стоит ли сие делать?

порт 80 на А, а порт ХХ на B?

домен.ком:xx -> B

UnnamedPB
()

Можно ли как-то перенаправлять запросы не nginx'ом, а... чем-то более легковесным (например iptables)? И стоит ли сие делать?

Если и можно то не стоит

MrClon ★★★★★
()

в хостах юзеров прописано какое доменное имя к какому IP завязан.

Объединить всё в один - нельзя, уровни секретности, епт.

В nginx можно для разных server_name использовать разные «правила», то есть у вас ребята по a.example.com будут видеть ресурсы a1 и a2, по имени b.example.com - b1, b2 и b3. А фактически все это на одном сервере будет крутиться. Надо только еще завести какой-нибудь дефолтный сервернейм, а то если nginx не найдет нужного он на сколько помню самый первый конфиг возьмет.

Это, конечно, при условии что вам не нужно разделение именно на уровне сервера (то есть что б адреса были реально разными). Иначе - тогда да, вам придется разные порты делать (что как по мне только добавит проблем) или опять же ставить какой-то балансер на входе который закинет запрос на нужный nginx исходя из запрашиваемого имени сервера.

micronekodesu ★★★
()

чем-то более легковесным

haproxy?

constin ★★★★
()
Ответ на: комментарий от MrClon

Тут логика в том, дабы если юзер запрашивает с ресурса В1 огромный файл то он отдается на прямую, а не через сервер А

Bubublik
() автор топика
Ответ на: комментарий от micronekodesu

Это, конечно, при условии что вам не нужно разделение именно на уровне сервера (то есть что б адреса были реально разными). Иначе - тогда да, вам придется разные порты делать (что как по мне только добавит проблем) или опять же ставить какой-то балансер на входе который закинет запрос на нужный nginx исходя из запрашиваемого имени сервера.

Сервера физически два, в локалке они 192.168.1.10 и 192.168.1.11
80й и 443й порты закинуты на 192.168.1.10. Слепить всё в один сервер было-бы значительно проще, но нельзя - на одном крутятся сайты, на втором системы гос.учёта. К первому серваку имеет доступ внештатный прогер, к второму будут подключаться прогеры государственные.

Bubublik
() автор топика
Ответ на: комментарий от Bubublik

Купить у провайдера ещё один внешний статический ip.

v4567 ★★
()
Ответ на: комментарий от Bubublik

Если внешний доступ нужен для определенного кол-ва лиц, а не public - то смотрите в сторону vpn. Тем более если стоит такой момент как секретность.

Deleted
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.