Я установил небольшой сервер на базе Raspberry Pi для базовых услуг. Я хочу сделать его доступным для разных пользователей, у которых будут разные права доступа. Все будет основано на докере.
В базовом варианте использования я установил InfluxDB с Grafana, Portainer для организации работы с докерами и хронографом для управления базой данных (возможно, еще больше). Также у меня есть VPN-соединение с моей локальной сетью (не докерированное), и я хотел бы, чтобы на нем также работал PiHole.
Итак, моя установка на Raspberry Pi 4.
Вот как я представлял себе, как это работает, в сравнении с реальностью:
VPN имеет доступ к порту 1194, поэтому он не должен конфликтовать с другими службами. Пока работает неплохо.
Grafana доступна через порт 3000, portainer - через порт 9000, а chronograf - через порт 8888, который можно изменить в настройках контейнера докеров на любой желаемый порт.
Что надеялся настроить:
HTTP-запрос приходит на порт 80 с mydyndns.com/grafana (или .... com / portainer, ... com / AnyKindOfString)
haproxy выполняет базовую аутентификацию, чтобы проверить, есть ли у пользователя права на доступ к службе
если применяется 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» (это страница входа на следующий шаг).
Что мне нужно выяснить:
Так что, если у кого-то есть полезная информация по моим вопросам, я был бы признателен.