Accès HTTPS et HTTP

Suite à diverses discussions et pour ne pas polluer le post d’origine Accès de l’extérieur en HTTPS avec un NDD Freebox et Let’s Encrypt, j’ouvre ce nouveau post.

Voici mon problème :
j’ai suivi le tuto de @McFly sur l’accès de l’extérieur en HTTPS à mon HA, tout fonctionne à merveille, j’ai bien accès à mon HA en https mais l’application Android HA ne peux plus se connecter en interne via l’URL https://192.168.0.xxx:8123
Une solution utilisée par @golfvert est de passer par un proxy http => https

Ma question :

Merci d’avance pour votre aide

De ma compréhension de l’add-on (que je n’utilise pas), c’est fait pour faire du HTTPS->HTTP.
Autrement dit, il faudrait supprimer ce que tu as fait dans la config de HA et revenir en HTTP. Ensuite, faire le HTTPS sur le proxy NGINX, qui te donnera accès à HA en HTTP. Tu auras un proxy HTTPS->HTTP.
Comme aurait dit ma grand-mère, « faire et défaire, il en restera toujours quelque chose ». Bon courage.

En gros, je devrais :

  • garder l’installation et configuration de Let’s Encrypt puisque les certificats SSL sont utilisés par l’addon Nginx
  • repasser dans l’UI en http sur les URL externe et interne
  • supprimer de configuration.yaml le bloc http
    http:
      ssl_certificate: /ssl/fullchain.pem
      ssl_key: /ssl/privkey.pem
    
  • installer l’addon Nginx via le supervisor
  • configurer l’addon Nginx comme suit :
    domain: domo.xxxxxxxx.fr
    certfile: fullchain.pem
    keyfile: privkey.pem
    hsts: "max-age=31536000; includeSubDomains"
    customize:
      active: false
      default: "nginx_proxy_default*.conf"
      servers: "nginx_proxy/*.conf"
    cloudflare: false
    

Et tout devrait fonctionner correctement :thinking:

En gros oui…
Je suppose que dans l’addon, la localisation de HA va être connue par défaut sans que tu fasses quoi que ce soit.

Appremment, ça ne fonctionne pas. Je pense que c’est dû à ce bout de code de la config Nginx :

location / {
  proxy_pass http://homeassistant.local.hass.io:8123;
  proxy_set_header Host $host;
  proxy_redirect http:// https://;
  proxy_http_version 1.1;
  proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  proxy_set_header Upgrade $http_upgrade;
  proxy_set_header Connection $connection_upgrade;
}

de mémoire, proxy_pass va rediriger vers l’URL http://homeassistant.local.hass.io:8123 et mon URL interne est http://192.168.0.252:8123 donc problème…

Et je n’ai pas trouvé où sont stockés ces fichiers pour les modifier manuellement pour tester.

Bon depuis l’installation de Nginx, j’ai plus accès à File Editor et Portainer :exploding_head:
Même après désactivation de Nginx, pareil …

Il fallait que je relance mon navigateur

Personnellement, je partirais plus sur cet addon :

Bonjour. Je suis dans le même cas de figure.
Sylvain_G as tu réussi a paramétrer HA android avec le ndd Freebox stp ?

Salut @Iz1, j’ai enfin trouver la configuration qui fonctionne suite à l’idée de @Clemalex du nouvel add-on.
Tu peux trouver le déroulé de mon installation dans ma présentation chapitre Passage en HTTPS Voici comment j’ai procédé :…

J’espère que ça t’aidera :wink:

Malheureusement la solution Nginx Proxy Manager n’a pas fonctionné pour moi.
En fait, j’ai déjà un NDD en place avec mon NAS et je pense que c’est lui qui met le « bordel ».

Après plusieurs tentatives avec différents réglages, j’ai finit par trouver mon bonheur.
J’ai supprimé les add-ons DuckDNS, et Nginx, en laissant les paramètres « http: … » activés dans le configuration.yaml.
Ensuite, j’ai utilisé le reverse DNS de mon NAS pour finaliser le tout. Un véritable casse tête… mais cela fonctionne parfaitement, y compris HA Android.

Merci Sylvain, et merci à tous pour votre aide.

Content que tu ais trouvé la solution :+1: et désolé de ne pas avoir pu t’aider.

N’hésites surtout pas à faire un tuto avec ta configuration et comment tu as pu résoudre ton problème, ça peut servir à quelqu’un qui aura la même configuration que toi, ou même, à toi dans 10 ans, quand il faudra réinstallé ton système (ce que je ne te souhaites pas :wink:)

Bonjour,

Je tente depuis de nombreuses heures d’accéder depuis l’extérieur en HTTPS avec un NDD Freebox et Let’s Encrypt
J’ai également essayé avec NGINX.
J’ai même fini par détruire mon accès local avec http//:mon_ip_local:8123.
Comment faire pour vraiment repartir de zéro???
Comment dois-je rediriger mes ports dans ma freebox??
Comment dois utiliser Nginx Proxy Manager et Let’s Encrypt (L’un ou l’autre ou les deux??)
Avec quelle configuration pour l’un et l’autre?? Et que dois contenir configuration.yaml??
Mon Home Assistant est installé sur une VM proxmox.
Il me manque une étape, mais je tourne en rond et je ne vois pas laquelle.
Merci pour vos aides


Merci pour ta réponse:
J’ai déjà pas mal consulté de conseils dont les liens que tu me donnes.
Avec Let’s Encrypt dans configuration, général puis en bas je peux bien rentrer mon URL interne, mais pas l’URL externe et à laquelle je n’ai pas accès.
Comment faire pour retrouver la possibilité de modification dans l’UI, et pouvoir rentrer mon URL externe et URL interne.
Et pour la redirection de port selon les documentation:
Redirection du port TCP 80 vers 80 de Home Assistant .
Redirection du port 443 vers 8123 de votre Home Assistant.
Ci-dessus ce sont bien les bonnes redirections??

A quoi correspond le temps du challenge (C’est le démarrage de Let’s Encrypt ?? )
Ensuite je dois supprimer les redirections??

Comment dois-je utiliser Nginx Proxy Manager et Let’s Encrypt (Est-ce l’un ou l’autre?? Je crois avoir compris qu’un seul est nécessaire.
Mais pour un nomdedomaine.freeboxos.fr ai-je le choix de l’un ou de l’autre, ou Let’s Encrypt est-il le seul utilisable??
Depuis que j’ai posé mes questions je suis tombé sur un tuto en anglais et j’ai compris qu’il faut installer MariaDB , et que c’est un prérequis à l’installation de Nginx Proxy Manager (sa configuration est sauvegardée dans la Base de données MariaDB).
Je vais essayer de continuer dans cette direction.
Merci de me dire si quelque chose semble aberrent dans les questions que je pose.
Une dernière chose, ne devrais-je pas repartir d’un installation toute neuve de Home Assistant, car j’ai ramé à un certain moment avec les sous dossier de configuration, et je me demande si je n’ai pas cassé une partie de mon installation?? (j’avais perdu entre autre liste pour la configuration du fuseau horaire)
Merci pour le temps passé (je donne beaucoup de mon temps sur d’autres forums, et c’est agréable d’avoir des réponses de la part de membres d’autre forum.

Je viens de refaire un essai avec Let’s Encrypt
et redirection du port TCP 80 vers 80 de Home Assistant .
ainsi que redirection du port 443 vers 8123 de votre Home Assistant.
Mais j’ai maintenant cette erreur
Échec du démarrage de l’extension
Port ‹ 80 › is already in use by something else on the host.

Par contre sur une autre MV, j’obtiens ces 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.
[00:54:53] INFO: Selected http verification
Saving debug log to /var/log/letsencrypt/letsencrypt.log
Account registered.
Requesting a certificate for xxxxxxxx.freeboxos.fr

Mais toujours pas de possibiltés ni de vision sur modification dans l’UI.
pour rentrer votre URL externe et pas de connexion en https

Salut.
C’est compliqué à lire sans la mise en forme (à minima des logs). Tu peux utiliser les balises en haut des messages pour ca : code pour les logs par exemple
En synthèse : Let’s encrypt gère une certificat (création et renouvellement) et ngnix la redirection vers HA (nom du domaine+port X vers port y). Il faut parfois un complément pour gérer le dns (adresse ip publique www.xxx.yyy.zzz vers momdomaine.com)

Ton erreur sur le port 80 s’expliquer parce qu’un autre processus l’utilise déjà
Dans ton cas d’usage, pour gérer un certificat il faut impérativement que le domaine en http fonctionne (http + domaine arrive sur ha). C’est ton deuxième point de blocage

Une question qui m’est venu à l’esprit
Mon serveur qui héberge proxmox a sa propre IP et la VM avec HA a la sienne
Je suppose que cela n’est pas un souci et je ne dois rediriger que les ports 80 et 443 de la VM qui héberge HA???
Je dois donc déjà faire fonctionner en local
http//:xxxxxxx.freeboxos.fr:8123 ???
Je me concentre déjà sur cela
Merci pour tes conseils

Dans ton cas oui les ports doivent arriver sur la machine qui heberge le service HA.
Par contre le nom de domaine + 8123 ne fonctionnera pas : ton nom de domaine va résoudre l’adresse ip externe de ta freebox… Ce n’est la même que celle de la vm ha.
Par ailleurs, le port ouvert sur ta freebox c’est le 443 qui renvoie vers le 8123.
Donc mauvaise ip et mauvais port ça ne va jamais aboutir comme tu voudrais

Je me demande si mes soucis ne viennent pas du fait que mon nom de domaine xxxxxxx.freeboxos.fr attribué par Free a déjà obtenu un certificat TLS pour activer l’accès sécurisé (HTTPS).
Cela n’empêche-t-il pas l’utilisation de LetEncrypt???