@Drno

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

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

Задача

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

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

Хочется

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

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

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

Допустим - щас имеет сервис на 8080 порту. Оставить возможность зайти на него по mydomen.ru:8080 и sub.mydomen.ru. Как это правильно сделать?
  • Вопрос задан
  • 139 просмотров
Решения вопроса 3
firedragon
@firedragon
Не джун-мидл-сеньор, а трус-балбес-бывалый.
все это позволяет сделать NGINX
Ответ написан
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
Ответ написан
Пригласить эксперта
Ответы на вопрос 4
ky0
@ky0
Миллиардер, филантроп, патологический лгун
Оборот "муторно разбираться" нам кагбе намекает, как и некоторое количество средней степени безграмотности вопросов.

HTTP удобнее проксировать с помощью предназначенных для этого инструментов. Остальной TCP, хоть нгинкс и умеет это - не рекомендую.
Ответ написан
SignFinder
@SignFinder
Wintel\Unix Engineer\DevOps
Непонятен приход сюда автора с вопросом. Выглядит так, как будто автор не осилил nginx и пришел за волшебной пилюлей. Не понимая, что с другими продуктами тоже придется "как то муторно разбираться".
Так что "на вопрос не возможно дать однозначный ответ - жалоба отправлена".
Чтобы определиться с выбором инструмента с моей точки зрения нужно следующее:
1. нагуглить сравнение продуктов, проверить что какой-либо подходит вам или подходят оба, но какой-то больше.
2. Провести тестирование, понять, что ты в состоянии вообще это запустить, что устраивает.
3. Оставить в работе.
Если где-то был сбой-повторить со вторым продуктом.
Ответ написан
mikes
@mikes
нас haproxy более чем устраивает + там loadbalance с отслеживанием состояния бэкенда без доп финансовых затрат
Ответ написан
Комментировать
@Drno Автор вопроса
Александр Карабанов благодарю за пример и коммент. Все таки сел разобраться с Nginx, не всё достаточно просто оказалось

unseriously проект NPM Manager - огонь. Взлетело всё с полпинка, правда в другом месте, где это нужнее. Там постоянно меняющиеся поддомены\тесты и прочее. Как раз для быстрого добавления\удаления любым у кого есть 2 руки. Ну и заодно посмотрев как он формирует конфиг было проще голый nginx настроить))
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы