Если 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
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
а) Там много чего ещё надо добавить) Возьмите стандартный конфиг, и замените в нём секцию 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 и всё заработает. Но только на вашем компьютере. На другом тоже нужно будет прописывать соответствие вручную.
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). Наверняка, есть и другие протоколы, которые их используют, но я сейчас не готов назвать их.
Написано
Войдите на сайт
Чтобы задать вопрос и получить на него квалифицированный ответ.
А вот такое:
pc1.domen.me:22 -> 192.168.0.101:22
pc2.domen.me:2022 -> 192.168.0.102:22
решается довольно просто с помощью iptables и DNAT.
Можно прочесть например это: habrahabr.ru/sandbox/18975