Как сделать чтобы разные субдомены вели на разные порты одного ip адреса?
Добрый день!
есть свой домен а-ля mydomain.com, он, как и субдомен www ссылается на IP1
есть еще несколько А записей которые указывают на другой IP2 (но один для многих)
сейчас сделано так, что я обращаюсь типа: kuku.mydomain.com:8443,
lala.mydomain.com:3233,
notes.mydomain.com:7777
По сути я могу использовать любой имеющийся сабдомен - именно порт указывает к какому приложению он ведет
Как сделать (где прикручивать) чтобы в зависимости от сабдомена трафик шел на определенный порт, без его явного указания?
IP2 это внешний белый адрес маршрутизатора который по NAT прокидывает в DMZ зону на нужный порт, Маршрутизатор это OpenWRT
Веб порты это 80 и 443. такие перенаправления обычно делаются с помощью reverse proxy. например на nginx
когда он принимает на вход имя домена, а перенаправляет на внутренний сервис \ IP + порт.
тогда для клиента это выглядит прозрачно
я правильно понимаю, если у меня там крутится apache, пару докеров на разных портах я "перед ними" еще просто ставлю ngnix в режиме реверс-прокси и уже он раскидывате?
почитаю. спасибо!
Drno, спасибо! буду пробовать. с другой стороны этим пользуюсь практически я один, количество устройств откуда хожу ограниченно, сохраню в букмарки с портами.
меня чисто теоретически интересовал вопрос -как красиво :-)
я правильно понимаю, если у меня там крутится apache, пару докеров на разных портах я "перед ними" еще просто ставлю ngnix в режиме реверс-прокси и уже он раскидывате?
почитаю. спасибо!
Если доступ к изменению конфигов есть - то даже nginx не нужен ( хотя я бы предпочёл выкинуть апач ). Просто выкидываете из своей конструкции порты и используете только Name-based Virtual Hosts
Михаил Ливач, да, на работе сделано именно так. И сервер DNS свой. а тут DNS записи у nic.ru , основной домен на VPS где то там, субдомены ведут на IP роутера дома на один сервер за NATом
и по сути все это "лабораторная работа", как любит говорить мой шеф, попробовать и апач и нгинкс и в докере (просто в мои обязаности это не входит и хочется попробовать) и в тоже время это уже вылилось в то что я и моя семья используют пару лет и функционал только добавляется
astar7922, я тогда не понимаю, зачем Вы вообще связались с портами, если на работе реализовано правильно? В моём представлении, на такое ( порты ) надо только посмотреть в документации и идти дальше, поскольку сейчас это не нужно практически нигде. Если уж хочется настроить что-то с портами - 80 и 443 вполне достаточно.
apache тоже умеет быть в роли реверс-прокси.
Если вопрос производительности на пороговых задачах - лучше nginx, если нагрузка не критичная - то не ставя еще один софт можно и на апаче такое реализовать.
asmelnik, Это будет работать для тех протоколов, в каких передаётся запрашиваемый домен, т.е. где есть концепция хостов в самом протоколе, либо если есть возможность каким-либо другим образом идентифицировать сервис, на который нужно совершить перенаправление.
В случае почты, наверное, по исходящему адресу отправителя.
Реверс-прокси настраиваются для любого протокола. Не знаю, что вы хотите этим сказать.
Это будет работать для ЛЮБОГО протокола, поддерживаемого реверс-прокси
А так правильное уточнение -- если "внутри" протокола где-то на 4-7 уровне есть критерии, позволяющие отделить одно от другого.
В случае почты, наверное,
Ну почему "наверное"???
Это уже реализовано в том же nginx-е
И в принципе хоть по адресу источника, хоть по адресу назначения, хоть по обоим вместе.
собственно smtp по факту сам себе и есть реверс-прокси, ибо первоначально большинство релеев вообще открытыми были и представляли из себя идеологически простейший реверс-прокси для почты.
А так правильное уточнение -- если "внутри" протокола где-то на 4-7 уровне есть критерии, позволяющие отделить одно от другого.
вот это самое главное, или как то на роутере с OpenWRT понимать что запрос был на subdomen1 или subdomen2 или уже действительно на reverse proxy разбирать.
Надо будет или теорию изучить или wireshark'ом посмотреть :-)
с почтой у меня нет проблем. MX запись видет на основной домен, он на VPSи там postfix уже пересылает на мой гмайл
astar7922, опенВРТ никак это не определит, это же роутер. если конечно у него нет софта под анализ траффика на таком уровне, правда мне кажется что тогда производительность просядет фактически до нуля
тот же nginx на него же можно поставить по идее, если я не ошибаюсь
Drno, спасибо за идею, но не хочу я на него nginx ставить
учитывая что сервисами пользуюсь только я (почти) я на всех устройствах в закладки добавил с портами и пользуюсь, могу и сабдомены не менять, все равно сервис определяется портом.
это я уже спрашиваю в целях самообучение, типа а как правильно и красиво.
тем более что один из сервисов это Lychee со всем фотоальбомом лет за 20, иногда выборочно дою доступ кому то, посылаю ссылку, народу все равно что там еще :и_какие_то_цифири
nginx так-то сам по себе вполне http сервер, так что надо подумать прежде о том, а нужно ли для http кроме него что-то ещё? Выкинул в своё время индейца и не жалею!