Mon serveur YunoHost
Matériel: Raspberry Pi à la maison
Version de YunoHost: 3.4.2
Êtes-vous dans un contexte particulier ou avez-vous effectué des modificiations particulières sur votre instance ? : non
domain : .noho.st
FAI : Orange / Livebox
Description du problème
Mon certificat Let’s Encrypt est arrivé à expiration aujourd’hui.
J’ai voulu le renouveler, mais en arrivant sur l’interface d’administration j’avais le message suivant : “Expiration du délai lors de la tentative du serveur de se contacter via HTTP en utilisant son adresse IP publique (domaine xxxx avec l’IP xxx). Vous rencontrez peut-être un problème d’hairpinning ou alors le pare-feu/routeur en amont de votre serveur est mal configuré.”
J’ai cherché un peu partout sur la doc et le forum, j’ai trouvé quelques commandes / infos mais rien de probant.
Au final j’ai réussi à mettre à jour le certificat, mais j’ai toujours le message d’erreur sur l’interface d’admin, et surtout, je ne comprends pas pourquoi ça a marché.
Pour info j’ai d’abord essayé
sudo yunohost domain cert-install xxxx
Résutlat
DEBUG Starting new HTTPS connection (1): ip.yunohost.org
DEBUG https://ip.yunohost.org:443 "GET / HTTP/1.1" 200 14
DEBUG Starting new HTTP connection (1): xxxx
WARNING Timed out when server tried to contact itself through HTTP using public IP address (domain xxxx with ip xxxxx). You may be experiencing hairpinning issue or the firewall/router ahead of your server is misconfigured.
Ensuite j’ai vu que cette commande pouvait peut-être débloquer la partie accès HTTP
sudo yunohost service regen-conf dnsmasq
Commande OK, mais toujours impossible de mettre à jour le certificat.
Ensuite, je me suis aperçu en regardant dans un thread que je n’avais pas ce répertoire et je l’ai donc créé :
/tmp/acme-challenge-public
Puis j’ai tenté un
sudo yunohost domain cert-renew
qui s’est soldé par
Warning: Timed out when server tried to contact itself through HTTP using public IP address (domain xxxx with ip xxxxx). You may be experiencing hairpinning issue or the firewall/router ahead of your server is misconfigured.
Error: Certificate renewing for xxxxx failed !
Error: Traceback (most recent call last):
File "/usr/lib/moulinette/yunohost/certificate.py", line 379, in certificate_renew
_check_domain_is_ready_for_ACME(domain)
File "/usr/lib/moulinette/yunohost/certificate.py", line 837, in _check_domain_is_ready_for_ACME
raise YunohostError('certmanager_domain_http_not_working', domain=domain)
YunohostError: It seems that the domain xxxxxx cannot be accessed through HTTP. Please check your DNS and nginx configuration is okay
J’ai reessayé avec cette fois le nom de domain suivi de --no-check et là ça marché :
DEBUG Starting new HTTPS connection (1): ip.yunohost.org
DEBUG https://ip.yunohost.org:443 "GET / HTTP/1.1" 200 14
DEBUG Starting new HTTP connection (1): xxxxx
DEBUG http://xxxxx:80 "HEAD / HTTP/1.1" 302 0
SUCCESS Successfully renewed Let's Encrypt certificate for domain xxxxx !
J’ai essayé de check toutes les configs possibles, Nginx semble bien configuré (jamais touché), mes ports sont ouverts sur ma box, et le site de checking https://ports.yunohost.org/ indique bien que mes ports sont ouverts.
J’arrive à accéder depuis l’exterieur à mon serveur (interface user / admin + appli), en local aussi. Toutefois, en local, il ne reconnait pas le certif visiblement.
Merci d’avance si vous avez des réponses, et en espérant que mes tentatives puissent servir à certains