• Как организовать переадресацию с domen.me:port на sub.domen.me для разных сервисов?

    Andrew_Shtein
    @Andrew_Shtein
    Если pc1.domen.me и pc2.domen.me - это один и тот же компьютер, то такой способ мне неведом.

    А вот такое:
    pc1.domen.me:22 -> 192.168.0.101:22
    pc2.domen.me:2022 -> 192.168.0.102:22
    решается довольно просто с помощью iptables и DNAT.
    Можно прочесть например это: habrahabr.ru/sandbox/18975
  • Как организовать переадресацию с domen.me:port на sub.domen.me для разных сервисов?

    Andrew_Shtein
    @Andrew_Shtein
    1) Мы можем подправить картину мира nginx, чтобы он слушал другой порт, НО он не сможет перенаправить не http(s).
    2) Нам незачем перенастраивать ssh в гитлаб. Насколько я понимаю, мы этого даже сделать не можем, ибо сам гитлаб не слушает ssh. ssh в данном случае - лишь транспорт для git. Таким же образом работает, к примеру, rsync.
    Когда вы будете набирать в консоли ssh root@domain.me - вы будете попадать в шелл. А если наберёте git clone git@domain.me:project.git то это на самом деле значит git clone ssh://git@domain.me/project.git
    то есть:
    Подключиться по SSH-протоколу к domain.me и скопировать через GIT project.git
  • Как организовать переадресацию с domen.me:port на sub.domen.me для разных сервисов?

    Andrew_Shtein
    @Andrew_Shtein
    а) Там много чего ещё надо добавить) Возьмите стандартный конфиг, и замените в нём секцию server на приведённую мной.
    б) Да в настройках DNS надо указать поддомены.
    Nginx'у как бы пофиг, существуют ли домены. Он видит мир таким образом:
    Сидит и слушает порт 80 на ipaddress. К нему приходит пакет, в пакете указано, что он для git.domain.me. Он смотрит в конфиг, а там указано, что это надо отправить на 9000 порт. И отправляет.
    И он не проверяет, существует ли git.domain.me и т.д.

    Но вот вашему браузеру, когда вы в нем будете вводить git.domain.me не сможет преобразовать его в ipaddress. Так что тут два варианта:
    1) Прописать git.domain.me в DNS
    2) Прописать соответствие ipaddress и domain.me в файл hosts на вашем компьютере. Тогда ваш браузер сможет преобразовать имя в ip и всё заработает. Но только на вашем компьютере. На другом тоже нужно будет прописывать соответствие вручную.
  • Как организовать переадресацию с domen.me:port на sub.domen.me для разных сервисов?

    Andrew_Shtein
    @Andrew_Shtein
    Nginx - это решение для http и https запросов.
    А на счёт ssh и gitlab... Насколько я понимаю, когда вы пытаетесь работать с гитлабом по git протоколу, то ваш комп подключается к 22 порту на гитлабе (git.domen.me), строит ssh-туннель, а внутри тунеля уже строит свою магию.
    Суть в том, что на самом деле он обращается на ipadress:22. А так как все ваши домены резолвятся в этот ip-адресс, то в принципе, вы можете обращаться и на git.domen.me:22, и на torrent.domen.me:22 - эффект будет один.
    Вообще доменое имя используется в основном в http(s) протоколах и передаётся в загголовках (http-headers). Наверняка, есть и другие протоколы, которые их используют, но я сейчас не готов назвать их.