Problème de configuration de DuckDNS

Mon problème

Bonjour,
J’ai suivi le tuto de McFly: DuckDNS : accéder à Home Assistant depuis l’extérieur (hacf.fr)
Je rencontre néanmoins un problème lors de sa mise en place.
image

DuckDns est installé et configuré

domains:
  - xxxxxxxx.duckdns.org
token: xxxxxxxx-xxxxx-xxxxx-xxxx-xxxxxxxxxxxxxx
aliases: []
lets_encrypt:
  accept_terms: true
  algo: secp384r1
  certfile: fullchain.pem
  keyfile: privkey.pem
seconds: 300

Mon routeur est a priori configuré

Lorsque je veux valider la config après avoir modifier le fichier configuration, il m’indique comme quoi il ne trouve pas le certificat.
image

Lorsque je regarde les dossiers, je trouve bien les certificats et ils viennent d’être générés
image

Ma configuration


[center]

System Information

version core-2023.11.1
installation_type Home Assistant OS
dev false
hassio true
docker true
user root
virtualenv false
python_version 3.11.6
os_name Linux
os_version 6.1.21-v8
arch aarch64
timezone Europe/Brussels
config_dir /config
Home Assistant Community Store
GitHub API ok
GitHub Content ok
GitHub Web ok
GitHub API Calls Remaining 4933
Installed Version 1.33.0
Stage running
Available Repositories 1334
Downloaded Repositories 10
AccuWeather
can_reach_server ok
remaining_requests 30
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 11.1
update_channel stable
supervisor_version supervisor-2023.11.3
agent_version 1.6.0
docker_version 24.0.6
disk_total 28.5 GB
disk_used 7.1 GB
healthy true
supported true
board rpi4-64
supervisor_api ok
version_api ok
installed_addons Samba share (12.1.0), Node-RED (16.0.2), Mosquitto broker (6.3.1), Advanced SSH & Web Terminal (16.0.1), SQLite Web (4.0.0), Zigbee2MQTT (1.33.2-1), File editor (5.7.0), Duck DNS (1.15.0)
Dashboards
dashboards 3
resources 8
views 18
mode storage
Recorder
oldest_recorder_run 7 novembre 2023 à 09:31
current_recorder_run 17 novembre 2023 à 21:04
estimated_db_size 738.79 MiB
database_engine sqlite
database_version 3.41.2
Sonoff
version 3.5.3 (a8c6d45)
cloud_online 0 / 1
local_online 1 / 1
[/center]

Salut

Dans ton fichier configuration.yaml, vérifie l’indentation de la partie http.
Tu dois avoir ça :

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

Effectivement @Giga77 , ca passe mieux. Merci.
Je pensais avoir essayé de jouer avec l’indentation mais je suis revenu sur ce qui était dans le tuto (sans indentation)
J’ai copy/paste ton message et j’ai pu valider la configuration.

Et mince je coince sur autre chose

En interne, au départ de mon PC, je me connecte (avec erreur certificat) via l’adresse https://192.168.2.250.8123 et ça semble bien fonctionner.

En interne, au départ de mon smartphone, ne fonctionne plus
https://192.168.2.250.8123 = non concluant
http://192.168.2.250.8123 = non concluant

En externe au départ de mon smartphone, ça fonctionne nickel sur l’adresse en httpS

[Mode Troll activé]
IOS n’aime pas HA. Change de téléphone :rofl: :rofl:
[Mode Troll désactivé]

Regarde ça : NSURLErrorDomain error -1202 - #8 by Nicols07 - Home Assistant Companion for Apple - Home Assistant Community

Mis à part l’avant dernier commentaire, je n’ai pas trop l’impression d’être dans le même cas.

enable data in home assistant app settings on ios (your phone settings not in app)

Par contre l’option "Données cellulaires"est bien active dans mon cas.


J’ai activer Autoriser le suivi intersite et j’ai aussi désactivé Réseau local pour voir si ça change mais ça ne change rien :frowning:

Tu voyais autres dans le post qui pouvait me concerner ?

Hello

Le comportement est normal.
Un certificat est rattaché à un domaine, pas à une IP .
Certains navigateurs permettent le bypass mais safari est plus restrictif ( dans le bon sens).

Tu peux utiliser l’addon NGINX Home Assistant SSL proxy pour rester en http en local ( adresseip) et en HTTPS en externe (ton hôte domaine )

Ça se fait en 2 minutes si tu suis la documentation inclue dans l’addon

@+

Je te met une alternative ici, ça peut peut-être t’interesser. C’est un VPN facile à configurer sur freebox ou Docker. Pas de problème de certificat, de hostname, ou de de plusieurs ports à ouvrir sur internet

Hello,
Merci pour vos retours

@Giga77 C’est l’appli qui n’aime pas. Peut-être sous iOS mais en tout cas, ça ne passe pas et les infos reprisent dans le post que tu m’as lié ne répondent pas vraiment à une solution me concernant car c’est finalement un comportement sécuritaire normal.

@Krull56 , je suis en cours d’essai (pour le moment non concluant) avec Nginx Proxy Manager
Je coince encore pour le moment malheureusement.
Sujet en cours ici

@Oles67 Merci pour l’idée mais j’ai un téléphone qui tourne déjà avec un VPN pour l’entreprise et ça implique aussi de l’installer chez tous les membres de la famille.
Si j’ai pas le choix, pourquoi pas, mais je préfère éviter.

Pour ceux qui suivent ce poste aujourd’hui ou plus tard, les aventures continuent dans l’installation de Nginx en suivant le tuto suivant

Et pour ceux qui auraient des soucis, vous n’êtes pas les seuls, les miens continuent se discutent par ici

Hello

Ce n’est pas le NGINX proxy manager que je t’ai proposé mais le NGINX Home Assistant SSL proxy .
C’est plus simple et repondra à ta problématique

Normal ??? Non, ç’est juste Apple qui décide que ton application n’est pas sécure… Avec Firefox, j’ai 2 avertissements que le site est potentiellement dangereux avant de pouvoir accéder au site.

Apple n’a rien décidé ( et je ne suis pas pro-apple ) , le HTTPS ce n’est pas que crypter les échanges c’est aussi vérifier le serveur avec lequel les échanges sont faits ( via son nom de domaine)
Donc le comportement normal est bien d’interdire la connexion si adresse IP car pas de vérification du domaine.

Le fait que certains navigateurs permettent de bypasser cette erreur après un avertissement n’est qu’une fonctionnalité offerte par ces derniers , pour du debug par exemple.mais n’est en aucun cas un mode « normal » pour le https

Le HTTPS, ç’est plusieurs fonctionnalités, mais en local, tu ne peux pas utiliser la vérification du nom de domaine (à moins de monter une usine à gaz), et ce n’est en aucun cas une « erreur ».
Si tu as des serveurs (HA ou autre) en local, tu ne peux pas utiliser le protocole HTTPS et Safari.
Sans être pro ou anti Apple, tu as un éditeur qui t’impose une fonctionnalité. Ce n’est pas être sécuritaire, car dans ce cas il n’y a pas de problème de sécurité. C’est imposer ses choix aux utilisateurs et leurs empêcher le libre arbitre.
En ce moment, il y a la même chose avec Chrome et Google qui tente d’affaiblir les adblockers.
Tous les éditeurs font des choix sur les fonctionnalités proposées, mais certaines se font au détriment des utilisateurs. Et ç’est le cas ici, Safari t’empêche de voir un site en local légitime.

Hello,

Je sors un vieux dossier mais c’est plutôt pour valider un point car ca ne fonctionne plus chez moi.
Après 1 an il faut renouveler qqch ?

[20:28:13] INFO: Starting DuckDNS...
[20:28:14] INFO: Renew certificate for domains: dnsname-prd.duckdns.org
dnsname.duckdns.org and aliases: 
# INFO: Using main config file /data/workdir/config
Processing dnsname-prd.duckdns.org with alternative names: dnsname.duckdns.org
 + Signing domains...
 + Generating private key...
 + Generating signing request...
 + Requesting new certificate order from CA...
 + Received 2 authorizations URLs from the CA
 + Handling authorization for dnsname.duckdns.org
 + Handling authorization for dnsname-prd.duckdns.org
 + 2 pending challenge(s)
 + Deploying challenge tokens...
OKOK + Responding to challenge for dnsname.duckdns.org authorization...
 + Cleaning challenge tokens...
OKOK + Challenge validation has failed :(
ERROR: Challenge is invalid! (returned: invalid) (result: ["type"]	"dns-01"
["url"]	"https://acme-v02.api.letsencrypt.org/acme/chall/2081252047/436457736437/0tb4Ug"
["status"]	"invalid"
["validated"]	"2024-11-27T19:28:24Z"
["error","type"]	"urn:ietf:params:acme:error:unauthorized"
["error","detail"]	"Incorrect TXT record \"\" found at _acme-challenge.dnsname.duckdns.org"
["error","status"]	403
["error"]	{"type":"urn:ietf:params:acme:error:unauthorized","detail":"Incorrect TXT record \"\" found at _acme-challenge.dnsname.duckdns.org","status":403}
["token"]	"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx")

D’avance merci à vous
Vincent

peut-être déjà vérifier dans un navigateur en passant par l’extérieur (p. ex. en 4G) que https://ton-IP.duckdns.org:numero_port fonctionne?
Sinon j’ai remis au propre la procédure vraiment plus simple ici >> tu peux essayer de refaire l’install propre NGINX+DUCKDNS, ce n’est vraiment pas long si tu as déjà ton serveur duckdns (c’est ce que j’explique et j’ai vu que tu avais tenté une vieille méthode trop compliquée avec Maria, mais laisse tomber Maria :smiley: en fait c’est beaucoup plus simple)

Au départ de l’extérieur, que ce soit avec https://MyPublicIP:8123 ou l’adresse https://xxx.duckdns.org:8123, ça ne fonctionne pas

Pour info

oui le certificat let’s encrypt doit être renouvelé.
Une piste,

  • Le token a-t-il changé sur ton duckdns depuis 1 an
  • tente le temps de renouveler d’ouvrir le port 80

Non, ca fait justement un peu plus d’un an que je l’utilise et c’est donc pour ça que je suspecte un renouvellement que j’ai du omettre de faire.
Du coup, je pense que c’est mon soucis mais je ne vois pas bien comment renouveler ce certificat une fois expiré