Назад | Перейти на главную страницу

haproxy не перенаправляет, а базовая аутентификация, кажется, добавляет неизвестный заголовок

Я установил небольшой сервер на базе Raspberry Pi для базовых услуг. Я хочу сделать его доступным для разных пользователей, у которых будут разные права доступа. Все будет основано на докере.

В базовом варианте использования я установил InfluxDB с Grafana, Portainer для организации работы с докерами и хронографом для управления базой данных (возможно, еще больше). Также у меня есть VPN-соединение с моей локальной сетью (не докерированное), и я хотел бы, чтобы на нем также работал PiHole.

Итак, моя установка на Raspberry Pi 4.

Вот как я представлял себе, как это работает, в сравнении с реальностью:

VPN имеет доступ к порту 1194, поэтому он не должен конфликтовать с другими службами. Пока работает неплохо.

Grafana доступна через порт 3000, portainer - через порт 9000, а chronograf - через порт 8888, который можно изменить в настройках контейнера докеров на любой желаемый порт.

Что надеялся настроить:

  1. HTTP-запрос приходит на порт 80 с mydyndns.com/grafana (или .... com / portainer, ... com / AnyKindOfString)

  2. haproxy выполняет базовую аутентификацию, чтобы проверить, есть ли у пользователя права на доступ к службе

  3. если применяется 2: haproxy перенаправляет на localhost: 3000, ИНАЧЕ - любая ошибка

Вот как выглядел мой haproxy.cfg на первом этапе:

global
    maxconn 3000
defaults
    mode http
    timeout connect 5000ms
    timeout client 50000ms
    timeout server 50000ms

frontend http-in
    bind *:80

    acl has_grafana path_beg /grafana
    acl has_portainer path_beg /portainer

    use_backend grafana_backend if has_grafana
    use_backend portainer_backend if has_portainer

    default_backend portainer_backend

backend grafana_backend
    server grafana_test 192.168.0.3:4000 check

backend portainer_backend
    server portainer 192.168.0.3:9000 check

Установив portainer как default_backend, я правильно перенаправился на portainer при входе только на mydyndns.com. При попытке подключиться к mydyndns.com/grafana получаю ошибку 404.

Я изменил default_backend на grafana и испытал перевернутый код, поэтому меня перенаправили на grafana при вводе mydyndns.com и ошибку с mydyndns.com/portainer. То же самое и с другими портами, которые я пробовал.

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

Пробуя базовую аутентификацию (интерфейс и бэкэнд) только с графаной, я не добился небольшого успеха. Меня попросили ввести учетные данные, которые я определил в списке пользователей в файле haproxy.cfg. К сожалению, я не смог ввести пароль через базовую аутентификацию ни с одним из созданных пользователей + insecure_password, ТОЛЬКО если они были той же комбинацией, что и для «входа в систему grafana» (это страница входа на следующий шаг).

Что мне нужно выяснить:

  1. перенаправление на разные серверы в зависимости от пути
  2. создать рабочую базовую аутентификацию (бэкэнд или фронтенд, не обязательно должен быть супер чистым, но безопасным)

Так что, если у кого-то есть полезная информация по моим вопросам, я был бы признателен.