Problème connexion api Stream Deck et HA sous Duckdns

Mon problème

Bonjour a tous,

j’ai installer ressemant HA sur mon serveur local, mais j’ai un petit soucis au niveau de la connexion de l’api pour mon Stream Deck quand je veux passé par DuckDNS.

image

En local tout fonctionne a la perfection sauf que mon PC est régulièrement sur un réseau 4G autre que mon réseau local d’où l’utilisation de duckdns afin de pouvoir contrôler mon HA même si mon pc est sur un autre réseau

à savoir que tout mon serveur est sous Docker ainsi que nginx et que j’ai ouvert le port 8123 temporairement pour essayer directement via mon ip et cela fonctione

Comment pourrai-je résoudre ce problème ?

Ma configuration


version core-2023.1.1
installation_type Home Assistant Container
dev false
hassio false
docker true
user root
virtualenv false
python_version 3.10.7
os_name Linux
os_version 5.10.0-20-amd64
arch x86_64
timezone Europe/Paris
config_dir /config
Home Assistant Cloud
logged_in false
can_reach_cert_server ok
can_reach_cloud_auth ok
can_reach_cloud ok
Dashboards
dashboards 1
resources 0
views 1
mode storage
Recorder
oldest_recorder_run 8 janvier 2023 à 22:23
current_recorder_run 9 janvier 2023 à 17:27
estimated_db_size 0.36 MiB
database_engine sqlite
database_version 3.38.5
___

Salut

WS c’est du websocket, donc si tu n’as pas une config adaptée dans ton nginx, ça ne fonctionnera pas

    proxy_http_version 1.1;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection "upgrade"; 
1 « J'aime »

Le soucis est que j’ai mis ceci dans ma config nginx mais j’ai du mal mis prendre :sweat_smile:

image

Pas /api mais /
image

Voici exactement le fichier config que j’ai pour HA et cela ne fonctionne pas

map $http_upgrade $connection_upgrade {
    default upgrade;
    ''      close;
}

server {
    listen 443 ssl;
    listen [::]:443 ssl;

    server_name homeassistant.*;

    include /config/nginx/ssl.conf;

    client_max_body_size 0;
	

    location / {

        include /config/nginx/proxy.conf;
        include /config/nginx/resolver.conf;
        set $upstream_app homeassistant;
        set $upstream_port 8123;
        set $upstream_proto http;
        proxy_pass $upstream_proto://$upstream_app:$upstream_port;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";


    }

    location ~ ^/(api|local|media)/ {
        include /config/nginx/proxy.conf;
        include /config/nginx/resolver.conf;
        set $upstream_app homeassistant;
        set $upstream_port 8123;
        set $upstream_proto http;
        proxy_pass $upstream_proto://$upstream_app:$upstream_port;


    }
}

Salut,

Si tu fais une config à part pour api|local|media il faut ajouter aussi le bloc

        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";

Ou alors il faut faire une config générale (que /)

Et ne pas oublier le restart/gracefull pour la prise en compte

Salut,

Malheureusement j’ai essayé cela mais sans succès, je ne trouve pas d’où viens le problème.