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 :
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
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
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)
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)
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
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