Добрый день!
По инструкции Wiren Board Cloud — удалённое администрирование — Wiren Board
пытаюсь запустить web-интерфейс HA
секцию поправил:
location ~ ^/ha/(.*)$ {
set $upstream_app 127.0.0.1;
set $upstream_port 8123;
set $upstream_proto http;
proxy_pass $upstream_proto://$upstream_app:$upstream_port/$1$is_args$args;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection upgrade;
}
при обращении к странице http://мой IP/ha/ - появляется логотип HA и зависает, т.е. дальше не прогружается.
вот что в логах nginx
sudo tail -f /var/log/nginx/error.log
2025/01/31 09:49:26 [info] 1702#1702: Using 131072KiB of shared memory for nchan in /etc /nginx/nginx.conf:61
2025/01/31 11:06:51 [error] 2642#2642: *10 open() “/var/www/frontend_latest/core.1733a3e 909f71e0c.js” failed (2: No such file or directory), client: 192.168.0.83, server: local host, request: “GET /frontend_latest/core.1733a3e909f71e0c.js HTTP/1.1”, host: “192.168. 0.12”
2025/01/31 11:06:51 [error] 2642#2642: *12 open() “/var/www/frontend_latest/app.0d59cd54 08a39872.js” failed (2: No such file or directory), client: 192.168.0.83, server: localh ost, request: “GET /frontend_latest/app.0d59cd5408a39872.js HTTP/1.1”, host: “192.168.0. 12”
2025/01/31 11:06:51 [error] 2645#2645: *13 open() “/var/www/static/images/ohf-badge.svg” failed (2: No such file or directory), client: 192.168.0.83, server: localhost, request : “GET /static/images/ohf-badge.svg HTTP/1.1”, host: “192.168.0.12”, referrer: “http://1 92.168.0.12/ha/”
2025/01/31 11:06:52 [error] 2642#2642: *10 open() “/var/www/hacsfiles/iconset.js” failed (2: No such file or directory), client: 192.168.0.83, server: localhost, request: “GET /hacsfiles/iconset.js HTTP/1.1”, host: “192.168.0.12”, referrer: “http://192.168.0.12/ha /”
Проверил, /var/www/frontend_latest , static, hacsfiles - таких директорий действительно нет.
Помогите, пожалуйста, как проправить ситуацию?
Добрый день!
Для диагностики проблемы пришлите, пожалуйста, архив с диагностической информацией контроллера. Создание архива описано в документации.
Добрый день!
Вижу по логам следующие ошибки:
2025/01/31 11:06:51 [error] 2642#2642: *10 open() "/var/www/frontend_latest/core.1733a3e909f71e0c.js" failed (2: No such file or directory)
2025/01/31 11:06:51 [error] 2642#2642: *12 open() "/var/www/frontend_latest/app.0d59cd5408a39872.js" failed (2: No such file or directory)
2025/01/31 11:06:51 [error] 2645#2645: *13 open() "/var/www/static/images/ohf-badge.svg" failed (2: No such file or directory)
2025/01/31 11:06:52 [error] 2642#2642: *10 open() "/var/www/hacsfiles/iconset.js" failed (2: No such file or directory)
Home Assistant пытается загрузить файлы интерфейса, но они не находятся в ожидаемых папках. Nginx ожидает файлы в /var/www/frontend_latest/
, однако Home Assistant хранит их внутри Docker-контейнера.
Понятно, подскажете как решить этот вопрос ?
Добрый день!
С ходу алгоритм назвать сложно, но я бы рассмотрел два варианта:
- Проксирование запросов от контейнера в nginx.
- Прописать пути к файлам, если они доступны локально в месте развертывания контейнера.
Однако проксирование кажется более верным решением.
Добрый день.
Я не пробовал такое.
Проанализируйте все ресурсы к которым обращается интерфейс и опишите все уровни вложенности.
Я не вижу запроса, но предполагаю что в нем присутствует //frontend_latest/* который не попадет в описаное в location.
Поправил секцию - результат тот же
location /ha/ {
set $upstream_app 127.0.0.1;
set $upstream_port 8123;
set $upstream_proto http;
proxy_pass $upstream_proto://$upstream_app:$upstream_port/;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
# Поддержка вебсокетов
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
# Отключаем буферизацию, чтобы избежать задержек
proxy_buffering off;
proxy_http_version 1.1;
proxy_redirect off;
# Указываем Home Assistant, что он работает за прокси с изменённым путем
proxy_set_header X-Forwarded-Path /ha/;
}
Добавляем корректную обработку статических файлов
location /ha/frontend_latest/ {
proxy_pass http://127.0.0.1:8123/frontend_latest/;
}
location /ha/static/ {
proxy_pass http://127.0.0.1:8123/static/;
}
location /ha/hacsfiles/ {
proxy_pass http://127.0.0.1:8123/hacsfiles/;
}
сообщение как то не корректно залетело..
Поправил секцию, ноне помогло
`Текст «как есть» (без применения форматирования)`location /ha/ {
set $upstream_app 127.0.0.1;
set $upstream_port 8123;
set $upstream_proto http;
proxy_pass $upstream_proto://$upstream_app:$upstream_port/;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
# Поддержка вебсокетов
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
# Отключаем буферизацию, чтобы избежать задержек
proxy_buffering off;
proxy_http_version 1.1;
proxy_redirect off;
# Указываем Home Assistant, что он работает за прокси с изменённым путем
proxy_set_header X-Forwarded-Path /ha/;
}
# Добавляем корректную обработку статических файлов
location /ha/frontend_latest/ {
proxy_pass http://127.0.0.1:8123/frontend_latest/;
}
location /ha/static/ {
proxy_pass http://127.0.0.1:8123/static/;
}
location /ha/hacsfiles/ {
proxy_pass http://127.0.0.1:8123/hacsfiles/;
}
А какой результат запроса с помощью wget, например?
сорри , подскажите, как сделать такой запрос?
из консоли : wget --spider ?
С компьютера, wget ресурс -O -
например
Вы это имели ввиду?
C:\Users\user>wget http://192.168.0.12:8123
--2025-01-31 16:01:57-- http://192.168.0.12:8123/
Connecting to 192.168.0.12:8123... connected.
HTTP request sent, awaiting response... 200 OK
Length: 5496 (5,4K) [text/html]
Saving to: 'index.html.1'
index.html.1 100%[=================================================>] 5,37K --.-KB/s in 0s
2025-01-31 16:01:57 (227 MB/s) - 'index.html.1' saved [5496/5496]
C:\Users\user>wget http://192.168.0.12:8123/hacsfiles/
--2025-01-31 16:02:21-- http://192.168.0.12:8123/hacsfiles/
Connecting to 192.168.0.12:8123... connected.
HTTP request sent, awaiting response... 404 Not Found
2025-01-31 16:02:21 ERROR 404: Not Found.
Да.
А какой ресурс тут запрашиваете? Точнее - какого результата ожидаете? В контейнере HA не настроена обработка пустых для второго уровня ЕМНИП.
Вопрос не касается ПО контроллера, тут речь о настройке прокси для HA. Рекомендую посмотреть на форума HA - там есть например Home Assistant: убираем за NGINX и подключаем сертификаты | marvins.ru
Ну и Nginx separate reverse proxy - #4 by Unl1kely - Installation - Home Assistant Community
Я понимаю, что вопрос не касается ПО контроллера, задача кажется не сложной, но для меня пока не достижима. Два дня бьюсь над решением, Вы - это уже крайняя инстанция.
К сожалению Ваши ответы ясности не добавили.