[Accès HA externe] Pourquoi ça coince?

Bonjour,

Mon problème

Désolé tout d’abord pour remettre ce classique sujet sur le fil…

Ma config est à la suite du message (mini-PC avec HAOS en RJ45).
Mon réseau maison est sur une Freebox Révolution.
J’ai acheté sur OVH un NdD simple, puis configuré la redirection cachée vers le numéro IP fixe de ma box.
J’ai créé un ensemble de clés pour Let’s Enscrypt sur OVH, et installé le plugin Let’sEnscrypt…
Redirigé un port XXXX vers 443 pour Nginx que j’ai installé sur HA…
Eu un bug sur le port 80 avec Let’s car Nginx bloquait le HTTP port (passé en 82).
Réussi à lancer Let’s (avec challenge DNS).
MAIS quand je pointe mon port via mon NdD, j’ai une page blanche avec le petit icon Bad page et « adresseIPbox n’autorise pas la connexion » !

Et le plus étonnant (pour moi), c’est que j’ai configuré des alertes en notification sur mon smartphone sur certains capteurs (ça fonctionne sans souci) mais je les reçois même quand je suis au boulot ! Alors que je suis en 4G, ça arrive d’ou ?!
Et j’ai vérifié, les notifications arrivent bien en temps réel (ouverture de porte à l’heure ou ma famille rentre du travail/école/collège) !!

Je démarre juste sur HA…

Ma configuration


[center]## System Information

version core-2025.1.3
installation_type Home Assistant OS
dev false
hassio true
docker true
user root
virtualenv false
python_version 3.13.1
os_name Linux
os_version 6.6.66-haos
arch x86_64
timezone Europe/Paris
config_dir /config
Home Assistant Cloud
logged_in false
can_reach_cert_server ok
can_reach_cloud_auth ok
can_reach_cloud ok
Home Assistant Supervisor
host_os Home Assistant OS 14.1
update_channel stable
supervisor_version supervisor-2024.12.3
agent_version 1.6.0
docker_version 27.2.0
disk_total 116.7 GB
disk_used 6.2 GB
healthy true
supported true
host_connectivity true
supervisor_connectivity true
ntp_synchronized true
virtualization
board generic-x86-64
supervisor_api ok
version_api ok
installed_addons Nginx Proxy Manager (1.0.1), Let’s Encrypt (5.2.10)
Dashboards
dashboards 3
resources 0
views 1
mode storage
Recorder
oldest_recorder_run 21 janvier 2025 à 21:08
current_recorder_run 23 janvier 2025 à 17:56
estimated_db_size 35.54 MiB
database_engine sqlite
database_version 3.47.1
[/center]

J’ai l’impression que tu as fais quelques mélanges
D’une si tu fais du challenge DNS pas besoin du port 80
Juste un forward de pour de ton 443 externe vers le 443 interne qui correspond a ton reverse proxy nginx

Par contre ri parles de redirection au niveau de ton domaine et non ce n’est pas une redirection qui fait faire mais dans ta zone DNS de type A (un nom vers une IPv4)
Genre
ha.mondomaine.tld vers 1.2.3.4
1.2.3.4 correspondant a ton ip publique

Certains désagréments aussi a s’éviter penser a vider le cache du navigateur punaise utiliser ma navigation privée

Merci pour ta réponse et c’est SUR que je m’emmêle les pinceaux !!

Tiens nous au courant de tes avancées

Bon, j’ai modifié la redirection DNS de type A comme tu me l’as suggéré. A priori, il faut attendre quelques heures pour que ça soit utilisable ?
Autre chose, est-ce que tu as une idée de la raison pour laquelle je reçois les notifs sans être connecté à HA en dehors de chez moi ? Vu que je n’ai pas encore configuré l’accès externe ?

De nos jours c’est quasi immédiat
Mais tu as bien supprimé ta ‹ ‹ redirection › ›
Pour vérifier ru peux taper cette commande sous windows
nslookup ha.mondomaine.tld
Ça doit te retourner ton ip publique

Comme ça non je ne suis pas devin

Ça peut être beaucoup de choses
Genre le port 8123 ouvert sur ta box vers HA (petite bêtise)
Pense a poster des captures car là on joue a la devinette

Je ne dois pas rediriger vers mon IP fixe ?

tu ne dois pas faire de redirection dans ton manager OVH
dans redirection cela résulte de l’ajout des entrée dans zone DNS
moi j’ai ça

qui correspond aux entrées ici

  • Modifie ton fichier configuration.yaml et supprime ces lignes si elles existent :
    Si tu veux pouvoir accéder en HTTPS depuis l’extérieur et en HTTP en local, voici comment faire :
  1. Modifie configuration.yaml :
homeassistant:
  external_url: "https://mon-domaine.ovh.fr" 
  internal_url: "http://192.168.1.100:8123"  # Remplace par ton IP local 

Supprime ces lignes si elles existent :

http:
  ssl_certificate: /ssl/fullchain.pem
  ssl_key: /ssl/privkey.pem
  • Ajoute cette configuration pour éviter des erreurs avec NGINX :
http:
  use_x_forwarded_for: true
  trusted_proxies:
    - 172.30.33.0/24  # Plage IP des add-ons sous Docker (peut varier)
    - 192.168.1.0/24  # Ajoute le réseau local si besoin

désactive ou supprime let’s Encrypt et NGINX Home Assistant SSL proxy si tu les a installer . install seulement NGINX Proxy Manager

l’installation et la configuration est assez simple une video démonstration est visible sur l’addon onglet info et documentation pour changer le mail et le mot de passe par défaut

Redirection des ports 80 et 443

  • Va dans la section « Redirection de ports » ou « Port Forwarding ».
  • Ajoute ou modifie ces règles :
  • Port externe 80192.168.1.X (IP de Home Assistant) : 80
  • Port externe 443192.168.1.X (IP de Home Assistant) : 443

Redémarre ton routeur après modification.

Tester si le Port 80 est Ouvert depuis Internet

Tu peux utiliser un site comme https://www.yougetsignal.com/tools/open-ports/ pour tester si le port 80 est ouvert.

  1. Va sur le site.
  2. Entre ton IP publique (ou laisse le champ vide pour détecter automatiquement).
  3. Teste les ports 80 et 443.
  • Si « Closed » → Ton routeur ou ton FAI bloque le port (voir solution DNS Challenge ci-dessous).
  • Si « Open » → La redirection fonctionne.

Si ton FAI bloque le port 80, Let’s Encrypt ne pourra pas valider ton certificat via HTTP. Utilise la méthode DNS Challenge :

Générer un Certificat avec DNS Challenge ?

  1. Ouvre NGINX Proxy Manager.
  2. Va dans « SSL Certificates »« Add SSL Certificate ».
  3. Choisis « Let’s Encrypt ».
  4. Sélectionne « Use DNS Challenge ».
  5. Choisis « OVH » comme fournisseur DNS.
  6. Ajoute ton Token OVH
  7. Génère le certificat → Ça évite complètement l’utilisation du port 80.
  8. **refait ou configure de nouveau ton domaine dans Proxy Hosts avec le certificat que tu a générer plutot

Si ton FAI ne bloque pas le port 80 :
:white_check_mark: Corrige la redirection NAT pour rediriger 80 → NGINX Proxy Manager et évite que ton routeur intercepte la requête.

:point_right: Si ton FAI bloque le port 80 :
:white_check_mark: Utilise DNS Challenge pour générer un certificat sans utiliser le port 80.

:point_right: Si ton routeur bloque NAT Loopback :
:white_check_mark: Accède en local via http://192.168.1.X:8123 ou configure un DNS local.

Après avoir appliqué ces solutions, essaye à nouveau de générer un certificat SSL via NGINX Proxy Manager

Désolé pour cette réponse tardive mais je n’ai pas repris la config depuis trois semaines (pas eu le temps).
Merci @hackdiy pour cette réponse très précise.
Pour la configuration yaml, je n’ai pas Docker mais quelle est l’adresse du réseau local que je dois mettre : sur une page proposant une correction de l’erreur 400 (que j’ai actuellement quand je me connecte via mon NDD), il propose de mettre :

http:
  use_x_forwarded_for: true
  trusted_proxies:
    - [IP_DU_PROXY]      # Remplacez par l'adresse IP du serveur proxy

C’est laquelle cette adresse du serveur proxy ?
Je la trouve où ?

A noter, mes port 80 et 443 sont bien ouverts.

pour faire tes test tu peux mettre 0.0.0.0/0 dans ip du proxy ça vas autoriser tous les proxy ce qui n’est en plus absolument pas grave

et si tu es en addon il faut mettre

172.30.33.0/24

car les addon de HAos sont des conteneurs docker

Whopitain !!
Ça marche !!
Je testerais demain la config en https…
Je reviens si ça bloque mais en attendant, grazie mille !!

1 « J'aime »

Un message a été scindé en un nouveau sujet : J’ai supprimer mon configuration.yaml, comment faire?