Home Assistant через WB Cloud

Добрый день!
По инструкции 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-контейнера.

Понятно, подскажете как решить этот вопрос ?

Добрый день!

С ходу алгоритм назвать сложно, но я бы рассмотрел два варианта:

  1. Проксирование запросов от контейнера в nginx.
  2. Прописать пути к файлам, если они доступны локально в месте развертывания контейнера.

Однако проксирование кажется более верным решением.

Добрый день.
Я не пробовал такое.
Проанализируйте все ресурсы к которым обращается интерфейс и опишите все уровни вложенности.
Я не вижу запроса, но предполагаю что в нем присутствует //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

Я понимаю, что вопрос не касается ПО контроллера, задача кажется не сложной, но для меня пока не достижима. Два дня бьюсь над решением, Вы - это уже крайняя инстанция.
К сожалению Ваши ответы ясности не добавили.