C’est un nom de domaine qu’il faut rentrer … celui de duckdns par exemple
C’est bien ton cas (édition pour cacher les infos perso ?)
C’est un nom de domaine qu’il faut rentrer … celui de duckdns par exemple
j’ai mis un nom de domaine (exactement celui du duckdns) et c’est pas mieux, pareil même erreur
edit : j’ai mis mondomaine.duckdns.org:8123 dans source et ça fonctionne en http, mais je ne comprend pas pourquoi je dois mettre le port alors que dans toutes les docs y a pas ?
edit 2: je suis maintenant avec une erreur au moment de demander le passage en https - Internal error
quand je regarde le log de nginx dans HA :
[4/3/2023] [1:50:05 AM] [Nginx ] › ℹ info Reloading Nginx
[4/3/2023] [1:50:10 AM] [SSL ] › ℹ info Requesting Let'sEncrypt certificates for Cert #15: ebonnet.duckdns.org
[4/3/2023] [1:50:10 AM] [SSL ] › ℹ info Command: certbot certonly --config "/etc/letsencrypt.ini" --cert-name "npm-15" --agree-tos --authenticator webroot --email "keyxxxxxxxx@gmail.com" --preferred-challenges "dns,http" --domains "ebxxxxx.duckdns.org"
[4/3/2023] [1:50:18 AM] [Nginx ] › ℹ info Reloading Nginx
[4/3/2023] [1:50:18 AM] [Express ] › ⚠ warning Command failed: certbot certonly --config "/etc/letsencrypt.ini" --cert-name "npm-15" --agree-tos --authenticator webroot --email "keyrie.yyyyyy@gmail.com" --preferred-challenges "dns,http" --domains "ebxxxxxx.duckdns.org"
Saving debug log to /data/logs/letsencrypt/letsencrypt.log
Some challenges have failed.
Ask for help or search for solutions at https://community.letsencrypt.org. See the logfile /data/logs/letsencrypt/letsencrypt.log or re-run Certbot with -v for more details.
Avec la nouvelle config tu n’as besoin que du port 80 et 443 qui renvoient vers 80 et 443 de l’addon nginx manager. Lui se charge de faire le relais vers ton port 8123.
Donc l’ancienne redirection 8123 vers 8123 n’a plus besoin d’être là. Et c’est pour ça que ça n’apparaît pas dans les doc.
Si letencrypt se plante c’est soit une erreur de dns/domaine soit un souci avec le port 80
cela n’explique pas pourquoi dans l’appli nginx je dois mettre le port dans source xxxx:8123 pour que la partie http fonctionne ?
ma config réseau est un peu particulière parce que je teste une installation qui va ensuite aller chez un client (toute la partie LAN spécifique avec l’Unifi Router)
donc elle est la suivante et c’est peut-être de là que le problème vient :
dans le router j’ai 3 redirections:
dans la livebox j’ai aussi 3 redirections pour assurer que ce qui vient de l’internet va vers la Gateway de mon LAN
pour démarrer let’s enscrypt dans HA la 1ère fois j’ai dû enlever le port 80 de la config de nginx
puis j’ai testé nginx avec et sans le port 80 dans HA avec nginx j’avais les 3 ports 443,80,81 configurés
dans les 2 cas la demande SSL de nginx est KO
mon duckdns:
le log de nginx montre une erreur ?:
[09:18:23] INFO: Starting the Manager...
[09:18:23] INFO: Starting NGinx...
[4/3/2023] [9:18:24 AM] [Global ] › ℹ info Manual db configuration already exists, skipping config creation from environment variables
2023/04/03 09:18:25 [error] 297#297: *1 connect() failed (111: Connection refused) while connecting to upstream, client: 172.30.32.1, server: nginxproxymanager, request: "GET /api/ HTTP/1.1", upstream: "http://127.0.0.1:3000/", host: "homeassistant:81", referrer: "http://homeassistant:81/nginx/proxy"
[4/3/2023] [9:18:27 AM] [Migrate ] › ℹ info Current database version: 20211108145214
[4/3/2023] [9:18:27 AM] [Setup ] › ℹ info Logrotate Timer initialized
[4/3/2023] [9:18:27 AM] [Setup ] › ℹ info Logrotate completed.
[4/3/2023] [9:18:27 AM] [IP Ranges] › ℹ info Fetching IP Ranges from online services...
[4/3/2023] [9:18:27 AM] [IP Ranges] › ℹ info Fetching https://ip-ranges.amazonaws.com/ip-ranges.json
[4/3/2023] [9:18:28 AM] [IP Ranges] › ℹ info Fetching https://www.cloudflare.com/ips-v4
[4/3/2023] [9:18:28 AM] [IP Ranges] › ℹ info Fetching https://www.cloudflare.com/ips-v6
[4/3/2023] [9:18:28 AM] [SSL ] › ℹ info Let's Encrypt Renewal Timer initialized
[4/3/2023] [9:18:28 AM] [SSL ] › ℹ info Renewing SSL certs close to expiry...
[4/3/2023] [9:18:28 AM] [IP Ranges] › ℹ info IP Ranges Renewal Timer initialized
[4/3/2023] [9:18:28 AM] [Global ] › ℹ info Backend PID 267 listening on port 3000 ...
[4/3/2023] [9:18:32 AM] [Nginx ] › ℹ info Reloading Nginx
[4/3/2023] [9:18:32 AM] [SSL ] › ℹ info Renew Complete
`QueryBuilder#allowEager` method is deprecated. You should use `allowGraph` instead. `allowEager` method will be removed in 3.0
`QueryBuilder#eager` method is deprecated. You should use the `withGraphFetched` method instead. `eager` method will be removed in 3.0
QueryBuilder#omit is deprecated. This method will be removed in version 3.0
Model#$omit is deprected and will be removed in 3.0.
ça n’a rien a voir avec nginx, c’est juste l’ancienne mécanique … c’est pas utile
A virer, ça passe pas par nginx et ça va direct sur HA
Pourquoi ? Le 80 il le faut pour la partie SSL.
Avant de faire du ssl il faut avoir le http qui marche avec l’addon
vers HA… pas vers le routeur. si tu as des routes intermédiaires, à faire alors il faut les mettre en pace
Mouais, le support va être compliqué à mon avis, il va falloir potasser le sujet
les redir de la livebox sont obligatoirement vers la gateway , HA n’est pas connu de la livebox mais seulement du router c’est pour cela que j’ai les 2 redir et la bonne c’est celle du router.
j’ai dû enlever le port 80 parce que let’s enscrypt ne démarrait pas et réclamait le port 80, mais dans tous les cas avec et sans c’est pareil KO
maintenant que let’s encrypt à démarré je dois l’arrêter ? pour remettre le port 80 sur nginx ?
Bon, je resynthètise :
OK merci j’y vais de ce pas
faut il pour ces manips que je supprime les 2 fichiers privkey et fullchain de ssl ?
Les fichiers, tu peux les laisser, l’important c’est de virer la config yaml qui les utilisent
j’ai rien dans configuration.yaml qui l’utilise ?
# Loads default set of integrations. Do not remove.
default_config:
# Load frontend themes from the themes folder
frontend:
themes: !include_dir_merge_named themes
# Text to speech
tts:
- platform: google_translate
automation: !include automations.yaml
script: !include scripts.yaml
scene: !include scenes.yaml
#http:
# ssl_certificate: /ssl/fullchain.pem
# ssl_key: /ssl/privkey.pem
template:
- sensor:
- name: "average_autoconso"
unit_of_measurement: "%"
state: >
{% set autoconso = states('sensor.solaredge_selfconsumption_energy') | float %}
{% set conso = states('sensor.solaredge_consumption_energy') | float %}
{{ ((autoconso / conso) * 100) | round(1, default=0) }}
- name: "average_autoprod"
unit_of_measurement: "%"
state: >
{% set autoconso = states('sensor.solaredge_selfconsumption_energy') | float %}
{% set prod = states('sensor.solaredge_energy_today') | float %}
{% if prod == 0 %}
{{ '0' }}
{% else %}
{{ ((autoconso / prod) * 100) | round(1, default=0) }}
{% endif %}
# Example configuration.yaml entry
# Example configuration.yaml entry for Google Mail.
notify:
- name: "xxx"
platform: smtp
server: "smtp.gmail.com"
port: 587
timeout: 15
sender: "keyrxxxxx@gmail.com"
encryption: starttls
username: "kexxxxx@gmail.com"
password: "qlyyyyyyyc"
recipient:
- "syyyyyyyrt@orange.fr"
- "kxxxxxx@gmail.com"
sender_name: "Bxxxxxx"
Bien si, mais c’est déjà inactif
oui c’est vrai , j’avais déjà mis ça en suspend
maintenant que tout fonctionne j’ajoute ?
http: #si cette balise n'existe pas, ajoutez la, sinon ajouter seulement la suite (pas de duplication)
use_x_forwarded_for: true
trusted_proxies:
- 172.18.0.1
Oui en fonction de ton montage réseau, il va falloir éventuellement les proxy. C’est la log qui va te donner les bonnes infos
oui j’ai trouvé l’IP dans le log ==> remplacé dans configuration.yaml et redémarrage
en réseau externe OK maintenant
il faut maintenant que je fasse un peu de ménage
comme marqué plus haut : 8123 ça sert plus à rien
Rien:
Au passage les certificats let’sencrypt sont en principe valables 3 mois, pas 6
Merci grandement, pour la patience et les conseils (je m’en serais pas sorti seul)
je vais maintenant pouvoir transporter cela chez mon client , j’aurais juste à modifier l’IP de sa Box dans duckdns et l’IP de la gateway entre l’unifi router et sa livebox (+ ouvrir les ports 80 et 443)
je viens d’installer la conf chez mon client, le dream router unifi (donc le gestionnaire de réseau local n’a pas changé) et j’ai ajouté la redirection dans la box orange du client des ports 80, 81, 443, 8123 pour envoyer tout ce monde vers le routeur LAN.
HA fonctionne en local, duckdns a été automatiquement mis à jour avec la nouvelle adresse IP de la livebox, nginx:81 est accessible et n’a pas changé, la conf HA non plus.
Cependant je ne peux plus accéder HA via la commande qui fonctionnait jusqu’à présent sur mon réseau avec ma box, depuis l’extérieur, qui est celle que j’ai sous nginx manager.
j’ai bien entendu redémarré tous les services HA et HA aussi, mis a jour avec la dernière version nginx et HA (celle qui ne plante pas sur lovelace bouton).
Ai-je oublié quelque chose ?
dans le journal nginx je vois bien la demande connection
[15/Apr/2023:08:52:00 +0200] - 400 400 - GET https xxxx.duckdns.org "/favicon.ico" [Client 109.208.xxx.yyyy] [Length 16] [Gzip -] [Sent-to 192.168.0.yy] "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36" "https://xxxxx.duckdns.org/"
le retour est systématiquement
400 : bad request
Salut
Ça me fait mal… La moitié des ports ne servent à rien dans ce cas. Je l’ai déjà répété plusieurs fois dans mes messages précédents…
Si tu installais des portails ça reviendrai à mettre un machin électrique, à le laisser ouvert parce qu’il n’y a pas de courant et à mettre la télécommande sur le pilier au cas où !
Puisque de toutes façons il faut des détails en plus : Fait un schéma détaillé (adresse ip, port et protocole) de l’infra utilisée et les config de chacun des éléments. Ça servira à s’y retrouver et avec un peu de chance tu va comprendre pourquoi je râle