Accéder a Home Assistant depuis l’extérieur en HTTPS avec un NDD Freebox et Let's Encrypt

Bonjour,
J’ai fais un test de chez moi sur mon PC en Wifi (connecté à mon tél) et ca fonctionne.
Je suppose donc un blocage à mon boulot, VPN ou autre.

Etonnant car j’arrivais bien à me connecter au même nom de domaine (sans le « :8123 ») lorsque j’étais sous Jeedom.

Bonne journée et merci de ton aide !

j’ai le meme soucis a mon boulot mais c’est le.blocage de javascript qui doit bloquer

1 « J'aime »

Bonjour,

Je suis nouveau sur HA, je passe de Jeedom à HA via une VM sur mon NAS…

Une des premières choses que je souhaite mettre en place, c’est l’accès à distance à HA.
J’ai installé l’add-on DuckDNS en suivant un tuto. J’ai eu dû mal à faire fonctionner le https mais eureka ça fonctionne enfin. Par contre, impossible d’y accéder via l’URL locale, que ce soit via http://homeassistant.local:8123 ou http://192.168.1.XXX:8123.

Voilà ce que j’obtiens dans la config réseau de HA :

Je ne sais pas quoi faire. Si je désactive le réseau local en automatique, je saisis par exemple http://192.168.1.XXX:8123 mais cela m’enlève l’URL « Internet ». Et si je la remets, et que je sauvegarde ça ne prend pas en compte l’accès local.
L’erreur m’indique :
"URL sur réseau local non valide

Vous avez configuré un certificat HTTPS dans Home Assistant. Vous devez obligatoirement définir une URL interne dont le domaine est couvert par le certificat."

Que faire ?

Merci.

Bonsoir @Julien_J ,

Perso je n’accède à HA que via mon NDD en https, c’est suffisant il me semble.
Pourquoi y accéder en http avec l’IP ?

Bob

1 « J'aime »

Salut…

Accessoirement, une fois le certificat installé, c’est plus http:// mais https:// qu’il faut utiliser, peu importe que ce soit le domaine ou l’ip.
Et bypasser les alertes si elles sont présentes, via l’ip notamment

1 « J'aime »

Ok merci pour vos retours.
Il me semblait juste plus logique quand je suis en local de passer par l’IP locale pour éviter de passer par internet. C’est ce que je faisais sous Jeedom.

C’est effectivement plus logique, mais l’implémentation utilisée ici ne le permet pas facilement…
Enfin si avec un DNS privé par exemple, ou un vrai reverse proxy qui gère le certificat.
Dans les faits, tu ne passes de toute façon pas vraiment par internet, tu ne fait que sortir et renter via la box

Salut.

Je bloque sur ce foutu certificat.

J’ai donc obtenu un nom de domaine chez Free : nom2domaine.freeboxos.fr

J’ai redirigé les ports 80 et 443 vers le 8123 de la machine faisant tourner HA.

Si je me connecte sur nom2domaine.freeboxos.fr, j’ai bien la mire de connexion HA

Quand je lance l’addon, j’ai cette erreur :

s6-rc: info: service s6rc-oneshot-runner: starting
s6-rc: info: service s6rc-oneshot-runner successfully started
s6-rc: info: service fix-attrs: starting
s6-rc: info: service fix-attrs successfully started
s6-rc: info: service legacy-cont-init: starting
cont-init: info: running /etc/cont-init.d/file-structure.sh
cont-init: info: /etc/cont-init.d/file-structure.sh exited 0
s6-rc: info: service legacy-cont-init successfully started
s6-rc: info: service legacy-services: starting
services-up: info: copying legacy longrun lets-encrypt (no readiness notification)
s6-rc: info: service legacy-services successfully started
[21:28:35] INFO: Selected http verification
Saving debug log to /var/log/letsencrypt/letsencrypt.log
Requesting a certificate for xxxxxxxx.freeboxos.fr
Certbot failed to authenticate some domains (authenticator: standalone). The Certificate Authority reported these problems:
  Domain: xxxxxxxx.freeboxos.fr
  Type:   unauthorized
  Detail: 88.xxx.xxx.xxx : Invalid response from http://xxxxxxxx.freeboxos.fr/.well-known/acme-challenge/0QSVzoOpSuGNWRs8mM2LbM6aAorAEwi8bBIZypBYCj8: 404
Hint: The Certificate Authority failed to download the challenge files from the temporary standalone webserver started by Certbot on port 80. Ensure that the listed domains point to this machine and that it can accept inbound connections from the internet.
Some challenges have failed.
Ask for help or search for solutions at https://community.letsencrypt.org. See the logfile /var/log/letsencrypt/letsencrypt.log or re-run Certbot with -v for more details.
s6-rc: info: service legacy-services: stopping
s6-rc: info: service legacy-services successfully stopped
s6-rc: info: service legacy-cont-init: stopping
s6-rc: info: service legacy-cont-init successfully stopped
s6-rc: info: service fix-attrs: stopping
s6-rc: info: service fix-attrs successfully stopped
s6-rc: info: service s6rc-oneshot-runner: stopping
s6-rc: info: service s6rc-oneshot-runner successfully stopped

Free vient de me migrer ce matin mais quand je regarde les paramètres de ma Freebox, j’ai bien les ports 0 à 16383 donc pas besoin de Full stack, si ??

Qu’est-ce que je fais mal alors ?

Merci de votre aide.

Hello

si si une fullstack, tu le fais dans ta console de gestion de ton abo free

1 « J'aime »

Salut,

Tu fais « challenge http » ou « dns » dans la conf ?
Pour info, je le fais avec http.

Je challenge en HTTP.

Je vais demander une IP fullstack alors

Cela fait parti des prérequis.

Re,

J’ai un soucis de redirection de port. J’ai souscris à free Delta fibre, tout fonctionne bien.
Mon hass est correctement paramétré, j’avais la meme conf + ou - depuis l’exterieur avec orange sans soucis. (dyn-dns-ovh)

Pour free, j’ai creer un dns freeboxos. J’ai refais mon certif, tout est OK.
En interne avec le dns, ça fonctionne impec. Je ping bien mon ip public.

Par contre la redirection de port ne fonctionne pas en 443 mais fonctionne en 444 par exemple.
(J’ai bien une ip fullstack)

Je trouve ça super étrange.

et j’arrive pas à trop à débuguer car je ne connais absolument pas la freebox Delta.

Merci de vos réponses !

Salut

Probablement parce que le port 443 est déjà utilisé. Freebox OS à distance par exemple

Effectivement, j’ai pensé aussi à ça mais je n’ai rien activé (la freebox à 3j)
Puis le port de connexion est 52854.

Par contre, freeboxos en local en 443 ça répond.

Je pensais que le fait d’être avec les ports de 0 à 16383 était peut-être suffisant.

Bref, je suis maintenant Full stack

J’ai redirigé les ports 80 et 443 de la Delta sur le port 8123 de HA

Je relance la configuration de l’addon mais j’ai toujours la même erreur.

Requesting a certificate for nomdedomaine.freeboxos.fr
Certbot failed to authenticate some domains (authenticator: standalone). The Certificate Authority reported these problems:
  Domain: nomdedomaine.freeboxos.fr
  Type:   unauthorized
  Detail: 82.66.xxx.xxx: Invalid response from http://nomdedomaine.freeboxos.fr/.well-known/acme-challenge/KebMQaikqtj0pU2JkdcMy7Vagpa661o-AcZ276-nw0g: 404
Hint: The Certificate Authority failed to download the challenge files from the temporary standalone webserver started by Certbot on port 80. Ensure that the listed domains point to this machine and that it can accept inbound connections from the internet.
Some challenges have failed.

Le truc, c’est que si je veux me connecter sur nomdomaine.freeboxos.fr:80 ou 82.66.xxx.xxx:80 j’ai ce message d’erreur de HA :

Vous êtes sur le point de donner accès à http://82.66.xxx.xxx/ à votre instance de Home Assistant.

Se connecter avec Home Assistant Local.
Erreur: Invalid client id

Mais si je teste avec nomdomaine.freeboxos.fr:443 ou 82.66.xxx.xxx:443 j’ai bien la mire de connexion de HA

Donc peut-être que l’addon n’arrive pas à accéder à son fichier de certificat ?

Je ne comprends pas pourquoi le port 80 est redirigé vers le 8123 de HA?
D’où vient cette chose ?

Le port 80 doit être redirigé vers le 80 de HA uniquement le temps du challenge.

ensuite pour accéder à HA, si tu tapes https;// cela sous entend le port 443 donc en faisant :
https://tondomaine.freeboxos.fr tu doit arriver directement sur HA

1 « J'aime »

Effectivement, j’ai refais la direction 80 → 80 et c’est passé, le certificat a été généré

Par contre, j’ai rajouté les lignes dans le configuration.yaml

J’ai redémarré HA et là, impossible de se connecter même en réseau local sur l’adresse IP 192.168.0.113:8123

Et https://NDD.freeboxos.fr ne répond pas non plus (testé en 4G sur mon tél).

J’ai réussi à modifier le fichier directement sous Linux et j’ai relancé et là, je peux me connecter sur HA avec son IP local.

Et l’application HA ne fonctionne pas non plus, ça marche si je donne mon IP externe et le port 8082 que j’ai redirigé vers 8123

Avec les 3 lignes en commentaire dans le configuration.yaml, l’url NDD.freeboxos.fr:443 marche mais je ne suis pas en HTTPS.

Bonjour à tous,

Possesseur d’un Khadas VIM4, j’ai installé HA en version docker:

J’ai réussi a installer Let’s encrypt via container afin de pouvoir me connecter de façon sécurisé depuis extérieur.

Lors du parametrage du configuration.yaml

avec les lignes qui vont bien indiquant ou se trouve mes certificats j’obtiens l’erreur suivante :

« Invalid config for [http]: not a file for dictionary value @ data[‹ http ›][‹ ssl_certificate ›]. Got ‹ /ssl/fullchain.pem ›
not a file for dictionary value @ data[‹ http ›][‹ ssl_key ›]. Got ‹ /ssl/privkey.pem ›. (See /config/configuration.yaml, line 11). »

J’ai également indiqué le chemin détaillé mais rien n’y fait. Si jamais cela cause à l’un d’entre vous.
Merci.