Http indisponible en interne suite à installation https en externe

Mon problème

Salut la communauté,

Je suis nouveau sur HA :slight_smile:

Afin de pouvoir installer le service Smartthings, j’ai du passer mon url externe en https (443).
Après plusieurs essais et lecture de quelques tutos sur le net, j’y suis parvenu (mon adresse ext duckdns est bien accessible en https).
Le hic, c’est que mon adresse interne n’est plus accessible en http. Elle l’est en revenche via https://mon-ip:8123 via chrome su mon pc (alerte de sécurité mais ça passe) mais plus du tout via mon appli ios.
J’ai bien lu la plupart de vos topics traitant du sujet et essayé un tas de solutions depuis hier mais là, je sèche.
Déjà testé :

  • installation de NGINX Home Assistant SSL proxy ok
    Entre autres en solutions alternatives test : Dnsmasq, mariadb, Adguard, …

Voici ce qui s’affiche dans paramètres réseau :
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.

Dois-je installer Let’s encrypt alors que duckdns l’inclut déjà (de ce que j’ai pu lire) ?

Ci-dessous, ma config YAML :

# Loads default set of integrations. Do not remove.
default_config:

# Load frontend themes from the themes folder
frontend:
  themes: !include_dir_merge_named themes

automation: !include automations.yaml
script: !include scripts.yaml
scene: !include scenes.yaml

http:
  ssl_certificate: /ssl/fullchain.pem
  ssl_key: /ssl/privkey.pem
  ip_ban_enabled: true
  login_attempts_threshold: 5
  use_x_forwarded_for: true
  trusted_proxies:
    - 172.30.33.0/24

J’avais également essayé d’ajouter ces 2 lignes mais résultat identique :

homeassistant:
  name: Maison
  external_url: https://****.duckdns.org:8123
  internal_url: http://192.168.1.200:8123

Je tourne un rond et je ne parviens plus à trouver la logique, HELP :frowning:

Ma configuration

Version core-2024.3.0
Type d’installation Home Assistant OS
Développement false
Supervisor true
Docker true
Utilisateur root
Environnement virtuel false
Version de Python 3.12.2
Famille du système d’exploitation Linux
Version du système d’exploitation 6.1.73-haos-raspi
Architecture du processeur aarch64
Fuseau horaire Europe/Brussels
Répertoire de configuration /config

Salut

Quand tu installe duckdns, il n’y a plus que de HTTP et il reste uniquement du HTTPS …
Donc le message d’avertissement est normal (c’est pas une erreur c’est la logique des certificats et des noms de dommaines), il faut vivre avec ou passer pas un autre mécanisme NGINX Home Assistant SSL proxy ou NGINX Proxy Manager, pour avoir 2 ports locaux : 1x HTTP et 1x HTTPS

Salut Pulpy-Luke,

Merci pour ton retour.
Comme précédemment dit, j’ai bien installé Nginx HA SSL proxy.
Mais toujours pas accès en http en local (en https ok via chrome mais alerte de sécurité, nada via l’app ios).
Journal ok dans Nginx :

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
s6-rc: info: service legacy-cont-init successfully started
s6-rc: info: service nginx: starting
s6-rc: info: service nginx successfully started
s6-rc: info: service crond: starting
s6-rc: info: service crond successfully started
s6-rc: info: service legacy-services: starting
s6-rc: info: service legacy-services successfully started
[08:59:11] INFO: Running nginx...

Salut,
si tu utilise duckdns + NGINX proxy SSL, faut enlever les lignes dans le configuration.yaml:

  ssl_certificate: /ssl/fullchain.pem
  ssl_key: /ssl/privkey.pem

Citation
You must add the following section to your Home Assistant configuration.yaml. If the http section is using the ssl_certificate , ssl_key or server_port keys, make sure to remove them.

faut le configurer comme telle:

http:
  use_x_forwarded_for: true
  trusted_proxies:
    - 172.30.33.0/24
  ip_ban_enabled: true
  login_attempts_threshold: 4

Car c’est NGINX qui va gérer le certificat.
Faut bien penser a ouvrir le port 443 > 443 vers ip de ha dans ta box.

Hello,

Merci pour ta réponse.
J’avais déjà essayé suite à un article lu sur le web.
Le problème est inverse quand j’enlève ces 2 lignes.
Plus d’accès de l’ext et de nouveau accessible en http local.
Je peux ressayer pour être sûr si besoin ?

Mes ports 80, 8123, 443 sont tous redirigés vers mon ip local dans mon routeur.

Duckdns est bien installer et configurer ?
Faut juste le nom de domaine et le token. Quand tu le démarre, ca va créer les certifats SSL.
Regarder les logs du module voir si tout est OK.

Dans NGINX proxy SSL, faut mettre le nom de domaine de duckdns.

Pour la box que le 443 suffira, ouvrir 443 > 443 vers IP HA .

le port 80 est si tu utilise let’s encrypts tout seul, pas pour duckdns qui inclus let’s encrypt.

Donc par duckdns et NGINX proxy SSL, tu te connectera en HTTP par http://ipdeHA:8123 et en HTTPS par https://nomdedomaine.duckdns.org

J’avais utiliser ce tuto https://www.youtube.com/watch?v=dNfSp9BcywE

C’est tout bien ce que j’ai fait… :frowning:

Voici le log de l’addon duckdns :

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
s6-rc: info: service legacy-cont-init successfully started
s6-rc: info: service legacy-services: starting
s6-rc: info: service legacy-services successfully started
# INFO: Using main config file /data/workdir/config
+ Account already registered!
[08:53:34] INFO: OK
"mon ip"

NOCHANGE
[08:53:34] INFO: Renew certificate for domains: ****.duckdns.org and aliases: 
# INFO: Using main config file /data/workdir/config
Processing ****.duckdns.org
 + Checking domain name(s) of existing cert... unchanged.
 + Checking expire date of existing cert...
 + Valid till Jun  5 19:47:12 2024 GMT (Longer than 30 days). Skipping renew!
[08:58:36] INFO: OK

Nginx : uniquement l’url de duckdns (sans http ou https et sans le port 8123).

J’ai viré la redirection du port 80 dans mon routeur.

On est d’accord ? :slight_smile:

Oui. pas http(s) et port


Pas faire de faute dans le nom de domaine :wink: ( Probléme de connection en HTTPS )

J’ai essayé en supprimant les 2 lignes ssl_certif et ssl_key et c’est bien ce que j’avais eu la première fois ou presque :

  • retour du http en local, plus de https NI HTTP en ext (je pensais que le http passait quand même)
  • et : « 401: Unauthorized » dans file editor (vive les backups !)

Config Nginx identique.

Pffff, je désespère :frowning:

Tu aura plus d’accès HTTP depuis l’extérieur, c’est normal. Le certificat est pour ton domaine duckdns.
Le HTTP sera que pour le local.

Sa te dit quoi quand tu te connecte par https://nomdedomaine.duckdns.org ?
Quel navigateur tu utilise ?

Rien quand je me connecte via https://monnom.duckdns.org:8123, ni http, testé de l’extérieur évidemment.

Mais j’ai de toute façon du restorer car je n’avais plus accès à mon File editor (401: Unauthorized), testé via accès local en http.

Via chrome en navig privée.

oublie HTTP de l’extérieur. Mais quand tu essayer par https://monnom.duckdns.org:8123 dans ton navigateur, ta pas une erreur d’écrite ?

j’ai oublier, quand ta configurer duckdns et NGINX proxy SSL. modifie bien les adresses dans HA , paramètre / réseau.
image

Certain que non… C’aurait été trop simple.

Déjà configuré comme suit :

URL de Home Assistant
Configurez les adresses web que Home Assistant partage avec les autres appareils lorsqu’ils doivent récupérer des données depuis Home Assistant (par ex. pour lire la synthèse vocale ou d’autres médias hébergés).

Internet
https://****.duckdns.org:8123
Accès depuis n’importe où, ajout facile de Google et Alexa

Réseau local
Automatique
http://192.168.1.***:8123

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.

Ta un soucis de port, montre une capture du port ouvert sur ta box ?

Je ne pense pas car ça ne passait pas du tout de l’extérieur avant que je ne redirige les ports de la box.

Supprime la redirection 8123.

J’ai déjà lu de fond en comble ces 3 topics :frowning:

Delete port 8123 dans mon routeur done.
Et je delete aussi les 2 lignes « ssl_ » de mon config YAML ?

  ssl_certificate: /ssl/fullchain.pem
  ssl_key: /ssl/privkey.pem

J’ai de nouveau mon file editor qui va m’envoyer ch… si je le fais :-/ Solutionnable plus tard ? Sinon, je dois à chaque fois faire un restore pour le récupérer.

Pop pop pop…
Il y a du neuf :slight_smile:

J’ai supprimé les 2 lignes ssl_ de YAML, mon port 8123 du routeur et :

  • Ca fonctionne en HTTP en local et HTTPS en ext (mais sans le « :8123 » dans l’URL) :star_struck:
  • Mon File editor a bien planté comme prévu :face_with_raised_eyebrow: :unamused: une solution pour ça ?