Http qui ne fonctionne pas en local suite a l'installation de duck dns

Bonjour,
j’ai voulu appliquer ca a home assistant et un tuto via duck-dns pour pouvoir acceder a HA sur mon mobile…
pourtant même si je suis pas sysadmin je comprends bien les notions de routage, de chiffrement etc… mais sur HA, j’avoue que c’est un peu confus pour moi.
Depuis, ca fonctionne tres bien depuis mon mobile, mais mon HA ne repond plus en local que sur le port https et j’ai une alerte sur ma configuration.
depuis dans le doute j’ai activé le MFA, on sait jamais…
la parie de conf que j’ai installé pour duck DNS suite ace tuto :

external_url: « https://xxxxxxxxxxx.duckdns.org »
internal_url: « http://homeassistant.local:8123 »
http:
  ssl_certificate: /ssl/fullchain.pem
  ssl_key: /ssl/privkey.pem
#allowing Reverse Proxies!
use_x_forwarded_for: true
trusted_proxies:
# (mettre l’ip de sa livebox ici je pense) pour moi c’est orange donc 192.168.1.1
    – 192.168.1.1

qui me donne les erreurs suivantes :
image

Enregistreur: homeassistant.helpers.translation
Source: helpers/translation.py:226
S'est produit pour la première fois: 6 juillet 2024 à 20:03:12 (4 occurrences)
Dernier enregistrement: 6 juillet 2024 à 20:03:12

Failed to load integration for translation: Integration 'external_url' not found.
Failed to load integration for translation: Integration 'use_x_forwarded_for' not found.
Failed to load integration for translation: Integration 'internal_url' not found.
Failed to load integration for translation: Integration 'trusted_proxies' not found.

et bien sur le certificat SSL qui marche pas en local
image
et qui me fait une belle 404 quand je tapes http://
Bref si ton article parle de la façon dont HA gere les connexion http … je suis preneur :slight_smile:

Ma configuration

___
## System Information

version | core-2024.7.1
-- | --
installation_type | Home Assistant OS
dev | false
hassio | true
docker | true
user | root
virtualenv | false
python_version | 3.12.4
os_name | Linux
os_version | 6.6.33-haos
arch | aarch64
timezone | Europe/Paris
config_dir | /config

<details><summary>Home Assistant Community Store</summary>

GitHub API | ok
-- | --
GitHub Content | ok
GitHub Web | ok
GitHub API Calls Remaining | 5000
Installed Version | 1.34.0
Stage | running
Available Repositories | 1390
Downloaded Repositories | 2
HACS Data | ok

</details>

<details><summary>AccuWeather</summary>

can_reach_server | ok
-- | --
remaining_requests | 26

</details>

<details><summary>Home Assistant Cloud</summary>

logged_in | false
-- | --
can_reach_cert_server | ok
can_reach_cloud_auth | ok
can_reach_cloud | ok

</details>

<details><summary>Home Assistant Supervisor</summary>

host_os | Home Assistant OS 12.4
-- | --
update_channel | stable
supervisor_version | supervisor-2024.06.2
agent_version | 1.6.0
docker_version | 26.1.4
disk_total | 28.0 GB
disk_used | 5.4 GB
healthy | true
supported | true
host_connectivity | true
supervisor_connectivity | true
ntp_synchronized | true
virtualization | 
board | green
supervisor_api | ok
version_api | ok
installed_addons | Duck DNS (1.18.0), File editor (5.8.0), Google Assistant SDK (2.5.0), Advanced SSH & Web Terminal (18.0.0), Spotify Connect (0.13.0)

</details>

<details><summary>Dashboards</summary>

dashboards | 4
-- | --
resources | 2
views | 4
mode | storage

</details>

<details><summary>Recorder</summary>

oldest_recorder_run | 30 juin 2024 à 14:15
-- | --
current_recorder_run | 6 juillet 2024 à 20:03
estimated_db_size | 26.50 MiB
database_engine | sqlite
database_version | 3.45.3

</details>`

Salut
Un certificat c’est construit pour identifier de façon certaine chez qui tu te connectes via le nom de domaine xxxxxxxxxxx.duckdns.org
Un tiers de confiance, valide pour toi par le biais de la mécanique de création des certificats et donc délivre à 1 seul site, un certificat unique (en très rapide)

Là, tu comprends bien que tu n’appelles pas xxxxxxxxxxx.duckdns.org (ou du moins le navigateur ne peux pas deviner que homeassistant.local, c’est AUSSI ET POUR TOI SEULEMENT xxxxxxxxxxx.duckdns.org)
Donc il t’avertie simplement que le serveur qui réponds se présente sous le nom de xxxxxxxxxxx.duckdns.org (dans son certificat) mais que ça ne correspond pas du tout au site que tu lui as demandé de joindre.
Ce comportement est classique avec les noms locaux (c’est pas un nom de domaine), et les adresses IP (c’est pas non plus un nom de domaine)

2 « J'aime »

ok et justement il n’existe aps de notion d’alias dans la config de HA Qui permettrait au serveur de répondre quand on le sollicite avec http://homeassistant.local:8123/ ?
a l’époque sous apache ca fonctionnait tres bien ce genre de truc…

C’est pas si simple.
Aujourd’hui HA réponds à n’importe quel nom (le domaine ou le nom local, c’est ça la notion d’alias apache), le souci, c’est qu’il réponds avec le certificat !!! Certificat qui par construction ne contient QUE xxxxxxxxxxx.duckdns.org

Du coup, on pourrait se dire que c’est pas grave, il suffit de mettre AUSSI homeassistant.local dans le certificat… Et ben non : c’est pas prévu !

Pourquoi : simplement parce que homeassistant.local chez toi ça corresponds à une machine bien précise (192.168.1.12 par exemple) mais chez moi ça corresponds à (192.168.1.234 par exemple aussi) . Donc ça montre bien que l’objectif initial de de garantir que tu connectes bien à TON HA ne peut pas être tenu…

Et dernier détails, pas des moindres en plus : ton HA réponds parfaitement bien, mais c’est ton navigateur qui bloque

ok… donc c’est inhérent au fait que je passe par Duck DNS… dommage… parce que je me vois pas gérer une config VPN sur tous les téléphones de la famille… du coup je vais rester comme ca… j’aurais une alerte dans ma config et sur mo pc quand je me connecte depuis une doc… ou alors je modifie le HOSTS de mon pc…

Non, c’est inhérent au fait que HA traite toutes connexions de la même façon (avec une réponse en HTTPS et un certificat avec un nom de domaine codé en dur)

C’est une solution, pas propre… Un truc un peu mieux c’est de passer par NPM par exemple qui gére à la fois du HTTP (pour le local) et du HTTPS (pour le distant)

c’est quoi npm, un proxy?

Oui nginx proxy manager

1 « J'aime »

ha il me semble voir vu ca qque part un config nginx dans le tuto… c’e’st peut etre ca qui va pas en tout cas ca fait partie de mes messages d’erreur.
je vais rechercher comment installer ca :slight_smile:

Erreurs normales hein, donc il faut relativiser

oui ui, mais j’aime pas les erreurs, mon HA doit etre blanc immaculé :slight_smile:

merci bcp pour ton aide et ton temps en tout cas. j’ai une piste, je vais la creuser

Hello

Si tu veux faire simple, regarde du côté de l’addon nginx home assistant proxy ssl ( pas le npm).

@+

2 « J'aime »

merci beaucoup, ca va me faire gagner du temps :slight_smile:

1 « J'aime »

Sinon ta box doit sûrement gérer le nat loopback , utilises ton nom de domaine en duckdns.org en interne aussi

Sinon tu peux utiliser un DNS interne avec pihole ou adguard qui donnera ton ip interne sur une requête monsite.duckdns.org

Même si je privilégie l’utilisation d’un reverse proxy aussi

1 « J'aime »

Et pourquoi pas ?
Je le fais avec 4 membres de ma famille.

bon voila c’est réglé réinstallation de duck dns, du proxy toussah toussah mais c’ette fois ci d’abord avec nginx PUIS duck DNS… dans ce sens la ca marchje sans tout cher a rien, j’avais nettoyé mon configurtion.yaml sans succes pourtant… bref maintenant ca fonctionne merci a tous

1 « J'aime »