@ONIKSfly

Как организовать доступ к нескольким серверам за роутером с внешним статическим ip?

Я не сильно разбираюсь в теме и вопрос к тому, чтобы понять, в каком направлении нужно искать информацию. Если честно, я нашёл ответ на serverfault, но мне это не сильно помогло.

Имеется домашняя сеть с роутером Asus RT-N16, к нему подключён кабель с внешним статическим ip. Раньше за роутером находился сервер с локальным ip 192.168.0.2 и поднятым nginx, который обслуживал несколько сайтов. На роутере был настроена переадресация 80 порта на ip этого сервера и такой вариант работал успешно.

Теперь в домашней сети появился ещё один сервер с двумя виртуальными машинами (192.168.0.4 и 192.168.0.5), на каждой из которых запущен nginx на 80 порту. Схематически это выглядит так:
672249afc1f44aac98bf211aaab528d8.png

Возможно ли сделать так, чтобы на запрос соответствующего доменного имени отвечал свой сервер в локальной сети на 80 порту? То есть как-то так:
www.example.com → внешний ip 133.0.125.133 → 192.168.0.2 (name based virtual host)
www.example-2.com → внешний ip 133.0.125.133 → 192.168.0.2 (name based virtual host)
www.example-3.com → внешний ip 133.0.125.133 → 192.168.0.3
www.example-4.com → внешний ip 133.0.125.133 → 192.168.0.4

Вариант с использованием разных портов реализовывать не хотелось бы, поскольку они могут быть заблокированы на стороне клиента. И если программно такое организовать нельзя, то как сделать аппаратно? Подключить ко второму серверу отдельный кабель со своим внешним ip?

Буду рад любому совету, кроме комментариев о том, что я ничего не понимаю по теме. Да, не понимаю, поэтому хочу разобраться.
  • Вопрос задан
  • 2732 просмотра
Решения вопроса 1
@mureevms
Прокинуть 80 порт на любой сервер с apache\nginx , а уже им проксировать запросы к разным сайтам
Для apache - Можно ли транслировать несколько веб-серверов через один веб-сервер?
Для nginx - Nginx как прокси на удаленный хост?

По схеме будет работать примерно так:
www.example.com → внешний ip 133.0.125.133:80 → (редирект 80 порта, вне зависимости от имени домена) → 192.168.0.2:80 (проксирующий веб сервер) → 192.168.0.3 (веб сервер с сайтом www.example.com)
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
@solalex
Обязательно чтобы отвечало с 80 порта? Можно редиректить разные порты роутера (81,82,83....) на 80 порты разных машин.
Ответ написан
@Yaprodam
Занимаюсь поддержкой нескольких сайтов
Как решили данный вопрос. Тоже самое. Сейчас для теста решил запустить отдельный виртуальный сервер, но на нет не работают сайты из вне. Только если прописывать жестко в hosts
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы