Задать вопрос
@Drno

Помощь с выбором обратного прокси?

Теги добавьте если надо...
Вообщем - помогите с выбором прокси, т.к. с nginx как то муторно разбираться, да и не только web надо проксировать.
Пока выбираю между traefik и haproxy. И не очень понимаю разницу.

Задача

Есть неск веб сервисов, основной работает на 80 и 443 порту, т.к. нужен доступ иногда БЕЗ https...
Неск докер сервисов на разных портах - 8080, 8081 итд...
Неск сервисов которые цепляются через впн, тоже веб с портами 20000 итд...
Ну и несколько VNC консолей... к которым через браузер можно цепляться, тож на своих портах.

Щас всё это переадресовывается с помощью iptables.. но тот же хром уже упорно хочет https, даже если ты ему вписываешь порт 8080 (перекидывает на 443 порт), хотя из инкогнито заходит нормально...

Хочется

Простое удаление\добавление сервисов в конфиг прокси.

Иметь возможность закрыть всё это сертификатом, все порты. Если правильно понимаю для этого придется сделать субдомены под каждый сервис, чтоб по субдомену определял прокси куда ему перенаправлять. Это так?

Хочется конечно сделать уже красиво, с субдоменами. Но должна остаться возможность и зайти по старому, т.к. не везде сразу обновятся конфиги на клиентах.

Допустим - щас имеет сервис на 8080 порту. Оставить возможность зайти на него по mydomen.ru:8080 и sub.mydomen.ru. Как это правильно сделать?
  • Вопрос задан
  • 142 просмотра
Подписаться 1 Простой Комментировать
Решение пользователя Александр Карабанов К ответам на вопрос (7)
karabanov
@karabanov Куратор тега Linux
Системный администратор
На одной из конференций Игорь Сысоев говорил, что TCP можно смело проксировать через Nginx и не использовать HAproxy - я ему верю. Что каcается http/https тем более.

даже если ты ему вписываешь порт 8080 (перекидывает на 443 порт)

Редирект закешировался или был HSTS указан в заголовках.

Допустим - щас имеет сервис на 8080 порту. Оставить возможность зайти на него по mydomen.ru:8080 и sub.mydomen.ru

Как-то так:
server {
    listen 8080;
    server_name mydomen.ru;
    location / {
        proxy_pass http://blablabla;
    }
}

server {
    listen 80;
    server_name sub.mydomen.ru;
    location / {
        proxy_pass http://blablabla;
    }
}


Простое удаление\добавление сервисов в конфиг прокси.

Ansible очень хорошо позволяет делать, что угодно с Nginx, в частности добавление сервисов в конфиг прокси.

PS
Если очень хочется для HAproxy написали GUI, а для Traefik есть API
Ответ написан