Thursday, September 22, 2016

Получение именованных проброшенных портов в linux.

Итак, вы пробрасываете порты, как и я. Их у вас толпы, и легко перепутать localhost:15673 и localhost:15674. А это, знаете ли, тестинг и прод, а не хухры-мухры.

Сначала я подумал что можно просто в /etc/hosts добавить. но нет.
Но сегодня вот наткнулся на http://stackoverflow.com/a/10729076

И вот короче какой конфиг у меня:

1. /etc/hosts:
{code}
127.0.0.1 prodrabbit testrabbit
{code}

2. /etc/nginx/sites-enabled/forward.conf:

{code}
server {
  server_name  prodrabbit;
  location / {
    proxy_pass http://127.0.0.1:15673;
  }
}

server {
  server_name  testrabbit;
  location / {
    proxy_pass http://127.0.0.1:15674;
  }
}
{code}

Ну и на всякий случай семпл из супервизора - не руками же поднимать соединение каждый раз:
{code}
[program:rabbitmq-dev]
startsecs=5
user=nik
command=autossh -o "ServerAliveInterval 30" -o "ServerAliveCountMax 3" -o "StrictHostKeyChecking=no" -nNT  -L 15674:localhost:15672 rabbittesthost -p 22
{code}

Понятно, что rabbittesthost существует в ~/.ssg/config

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