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

Oui, car, contrairement à ce que tu as indiqué au début :

et avec les adresses IP que tu donnes son google nest est un routeur. Pas un bridge.

Si tu dis à la livebox que ton google nest est ta « DMZ », alors plus aucun filtrage ne sera fait par la livebox.
Tu dépendra entièrement de ce sait faire (ou pas) google nest. Donc, bof, j’éviterai.
Tu pourrais le faire avec un vrai firewall (opnsense par exemple). Mais, avec google nest, pas certain que ce soit une bonne idée.

Merci de tes réponses.

Bonjour,

Je viens de suivre ce tuto, cependant l’Add-on ne démarre pas.

J’ai ça dans les logs :

[s6-init] making user provided files available at /var/run/s6/etc...exited 0.
[s6-init] ensuring user provided files have correct perms...exited 0.
[fix-attrs.d] applying ownership & permissions fixes...
[fix-attrs.d] done.
[cont-init.d] executing container initialization scripts...
[cont-init.d] file-structure.sh: executing... 
[cont-init.d] file-structure.sh: exited 0.
[cont-init.d] done.
[services.d] starting services
[services.d] done.
[14:40:19] INFO: Selected http verification
Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator standalone, Installer None
Obtaining a new certificate
Performing the following challenges:
http-01 challenge for ha.ndd.ovh
Waiting for verification...
Challenge failed for domain ha.ndd.ovh
http-01 challenge for ha.ndd.ovh
Cleaning up challenges
Some challenges have failed.
IMPORTANT NOTES:
 - The following errors were reported by the server:
   Domain: ha.ndd.ovh
   Type:   connection
   Detail: Fetching
   http://ha.ndd.ovh/.well-known/acme-challenge/988W7JXvUfR5qogmeA-Ai1yEiq6_xDwKKSkB3reKfp8:
   Timeout during connect (likely firewall problem)
   To fix these errors, please make sure that your domain name was
   entered correctly and the DNS A/AAAA record(s) for that domain
   contain(s) the right IP address. Additionally, please check that
   your computer has a publicly routable IP address and that no
   firewalls are preventing the server from communicating with the
   client. If you're using the webroot plugin, you should also verify
   that you are serving files from the webroot path you provided.
[cont-finish.d] executing container finish scripts...
[cont-finish.d] done.
[s6-finish] waiting for services.
[s6-finish] sending all processes the TERM signal.
[s6-finish] sending all processes the KILL signal and exiting

Avez-vous eu ce genre de chose avec un nom de domaine OVH ?

Je vous en remercie par avance.

et :

Il doit manquer ça…

1 « J'aime »

Est-ce bon la :

[s6-init] making user provided files available at /var/run/s6/etc...exited 0.
[s6-init] ensuring user provided files have correct perms...exited 0.
[fix-attrs.d] applying ownership & permissions fixes...
[fix-attrs.d] done.
[cont-init.d] executing container initialization scripts...
[cont-init.d] file-structure.sh: executing... 
[cont-init.d] file-structure.sh: exited 0.
[cont-init.d] done.
[services.d] starting services
[services.d] done.
[18:55:55] INFO: Selected DNS Provider: dns-ovh
[18:55:55] INFO: Use propagation seconds: 60
Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator dns-ovh, Installer None
Obtaining a new certificate
Performing the following challenges:
dns-01 challenge for ha.ciret.ovh
Waiting 30 seconds for DNS changes to propagate
Waiting for verification...
Cleaning up challenges
Non-standard path(s), might not work with crontab installed by your operating system package manager
IMPORTANT NOTES:
 - Congratulations! Your certificate and chain have been saved at:
   /data/letsencrypt/live/ha.ciret.ovh/fullchain.pem
   Your key file has been saved at:
   /data/letsencrypt/live/ha.ciret.ovh/privkey.pem
   Your cert will expire on 2021-05-12. To obtain a new or tweaked
   version of this certificate in the future, simply run certbot
   again. To non-interactively renew *all* of your certificates, run
   "certbot renew"
 - If you like Certbot, please consider supporting our work by:
   Donating to ISRG / Let's Encrypt:   https://letsencrypt.org/donate
   Donating to EFF:                    https://eff.org/donate-le
s6-svscanctl: fatal: unable to control /var/run/s6/services: supervisor not listening
[cont-finish.d] executing container finish scripts...
[cont-finish.d] done.
[s6-finish] waiting for services.
[s6-finish] sending all processes the TERM signal.
[s6-finish] sending all processes the KILL signal and exiting.

Si je comprends bien, je dois à nouveau relancer l’add-on le 12/5, afin de renouveler le certificat, tout en pensant à changer les ports en 80 ?

Merci pour vos conseils.

Oui et non.
Les certificats let’s encrypt sont valables 90 jours. Donc, ils doivent être renouvelés avant le 12/5.
Pour le renouveler la machine avec HA doit être accessible sur le port 80. Donc la redirection doit être ouverte sur la box. Mais:

  • HA en tant que tel restera en HTTPS. Donc il faudrait garder ouvert le port pour HTTPS (j’imagine 443) et avoir en plus le 80 pour le renouvellement
  • le renouvellement est automatiquement fait par l’addon. Mais, je ne sais pas quand. Logiquement on attend pas le dernier jour pour le faire.

Donc, soit tu laisses tout le temps le port 80 ouvert soit tu l’ouvres quand c’est le moment. Le problème est de le connaître :slight_smile:

En résumé, les ports à ouvrir sur la box:

  • 443 toujours
  • 80 quand c’est nécessaire…

Merci beaucoup @golfvert !

Il y a du nouveau pour forcer l’application HA lorsqu’on est en https ?

Je ne suis pas sûr de comprendre.

Il faut faire ce que McFly indique pour forcer HA en HTTPS:

C’est ça la question?

J’ai fait cette étape, cependant je ne parviens pas à y accéder depuis l’application.

Puis sur un navigateur web, je ne peu plus passer en local (sur Firefox c’est bon).

C’est quoi l’« application » ici?

Firefox est un navigateur web… et « passer en local », je ne comprends pas non plus.

Je ne parviens plus à me connecter en local (https://192.168.31.186:8123) depuis Safari, je suis obligé de passer un Firefox, surement une histoire de certificat.
Comment peut-on vérifier si le certificat est pris en compte ?

Peux tu mettre deux copies d’écran de ce qu’il se passe avec safari et firefox? Ca ne devrait pas être très différent…
Et normalement, ton certificat est valable pour un nom de domaine et pas l’adresse IP. Donc, tu vas voir un message d’erreur que tu pourras contourner.

1 « J'aime »

Voila ce que j’ai sur Safari, quand j’accède à HA en local, sur Firefox ça fonctionne bien.

C’est très curieux… Est-ce que par hasard, tu n’as pas un proxy de configurer (eg. VPN de ton taf?).
Parce que vu l’erreur, ce n’est pas un certificat qui coince mais, tout simplement pas d’accès. Si tu es sur le même mac avec Safari et Firefox, alors, je ne vois qu’une histoire de proxy. Puisque la gestion dans les deux navigateurs n’est pas la même. J’imagine que si tu testes avec Chrome ça devrait marcher.

Salut,
En pleine prise de connaissance sur HA et tout ce qui va avec, je me heurte à un problème Qui n’en est peut être pas un pour vous.
Après l’installation de Let’s Encrypt, j’essaye de rentrer mon mail et message d’erreur, il ne m’accepte pas le « @ »…
Failed to save addon configuration, not a valid value for dictionary value @ data[‹ options ›]. Got {‹ email ›: ‹ monmail@hotmail.fr ›, ‹ domains ›: [None], ‹ certfile ›: ‹ fullchain.pem ›, ‹ keyfile ›: ‹ privkey.pem ›, ‹ challenge ›: ‹ http ›, ‹ dns ›: {}}

Une idée ?

Merci.

Il me semble que le problème est sur le ndd plutôt, fait un copier/coller de la documentation et remplace avec tes données

1 « J'aime »

Yep ! Nickel. Je pensais que c’était géré par l’addon Duckdns cette partie… Je tatonne :smiley:

l’addon DuckDns fourni déjà un certificat let’s encrypt…pourquoi ne fais tu pas tout depuis l’addon Duckdns ?

ma configuration duckdns :

lets_encrypt:
  accept_terms: true
  certfile: fullchain.pem
  keyfile: privkey.pem
token: xxxxxxxxxxxxxxxxxxx
domains:
  - xxxxxx.duckdns.org
aliases: []
seconds: 300
1 « J'aime »

C’est ce que je viens de comprendre. Je pensais que l’addon Duckdns devait écrire dans la base de l’addon Let’s Encrypt…
Ah la la, ces noobs :smiley:

Bonjour, Merci une nouvelle fois pour ces tutos.
Je sollicite votre aide pour mon problème que voici : j’ai suivi le tuto une première fois sans problème jusqua’au test de connexion depuis l’extérieur où je n’ai pas réussis à me connecter (application android). Entre temps j’ai modifié mon IP publique en passant sur un IP full stack avec Free (pensant que cela résoudrai mon problème de connexion) et bien sûr maintenant je n’arrive plus à relancer l’ad on let’s Encrypt.
Voici ce que j’obtiens :
IMPORTANT NOTES:

  • The following errors were reported by the server:
    Domain: .freeboxos.fr
    Type: unauthorized
    Detail: Invalid response from
    http://.freeboxos.fr/.well-known/acme-challenge/lo2rBQ9KXuPb7YPbkfz7FAE0XCq41MrMkjGHJeM-L14
    [xxxxxxxxxxxxxxxxx]: « \n\n\n<meta
    http- »
    To fix these errors, please make sure that your domain name was
    entered correctly and the DNS A/AAAA record(s) for that domain
    contain(s) the right IP address.

J’ai compris que le problème venait de la modif de mon IP publique mais quelle est la solution?
Merci d’avance