Обновление вопроса ниже!
Я настроил traefik в последние дни, похоже, он отлично работает для docker контейнеров. Что не работает, так это настройка не docker бэкэнда. У меня есть панель мониторинга сетевых данных (https://github.com/netdata/netdata) на порту 19999 на хосте.
Я определил провайдера файлов:
[providers.file]
directory = "/home/myname/traefik"
filename = "providers.toml"
watch = true
Где я определил служба и маршрутизатор для панели мониторинга сетевых данных:
[http.routers]
[http.routers.netdata]
service = "netdata"
middlewares = ["replacepath"]
rule = "Host(`my.host.name`) && Path(`/netdata`)"
[http.middlewares]
[http.middlewares.replacepath.replacePath]
path = "/"
[http.services]
[http.services.netdata]
[http.services.netdata.loadBalancer]
[[http.services.netdata.loadBalancer.servers]]
url = "http://192.168.178.60:19999/" ---> my server local ip
Я использую replacepath, чтобы убрать путь, чтобы не оказаться ниже на один каталог, который не существует.
Однако, когда я Посещение http://my.host.name/netdata мне кажется, что это только сырое html, я получаю 404s за. css и. js содержание.
Что мне нужно сделать, чтобы все файлы в каталоге сайта доставлялись? Я чувствую, что есть простое решение этого, которое я не могу увидеть прямо сейчас ...
Я нашел несколько учебных пособий, использующих старые версии traefik, где они используют веб-интерфейсы и бэкэнды, насколько я понимаю, они заменяются маршрутизаторами, промежуточным программным обеспечением и службами.
- Я попытался использовать "http://localhost: 19999 " вместо локального ip, но безуспешно (приводит к ошибке шлюза)
- Я также пытался установить контейнер traefik на «хост» сети, потому что контейнеры должны быть изолированы от остального хоста, поэтому traefik не может связаться с сервером netdata, но, как я уже сказал, я получаю хотя бы часть веб-сайт, так что это не может быть проблемой?
Обновление № 1, 30 января 20:
После еще нескольких попыток и неудачной попытки заставить его работать с nginx Я понял, что проблема не в самом прокси. Я заметил, что любой сервис, который я запускаю на уровне root (то есть не правила пути в traefik или location /
в nginx), работает, но все остальное, которое получает путь / местоположение, не работает или не работает вообще. Один сервис, который я хотел прокси через маршрут - это панель управления моего домашнего моста (https://github.com/nfarina/homebridge), но, похоже, у Angular проблемы с пользовательскими путями. Та же проблема с моей приборной панелью netdata или сайтом статуса onionbox. Я оставляю этот вопрос открытым, возможно, кто-то найдет (хакерский) способ заставить его работать.