Nginx Proxy Manager - Custom location

Bonjour à vous,

Afin de ne pas exposer directement certains de mes équipements, j’aimerai les exposer au travers de mon reverse proxy.

Mon idée qui n’est peut être pas la bonne, c’est de pouvoir accéder de l’extérieur à mes différents équipements via mon seul nom de domaine en ajoutant un suffixe :

J’utilise l’addon « Nginx Proxy Manager » dans lequel j’ai défini un « Proxy Host » qui fonctionne très bien pour home assistant (adresse locale http://192.168.1.83:8123) mais malheureusement ne fonctionne pas pour grafana (adresse locale http://192.168.1.86:3000).

Voila ce que j’obtiens quand je tape l’url https://mondomaine/grafana :

  • image

Ne maitrisant pas vraiment les reverses proxy, j’appelle à l’aide :slight_smile:

Voila ma config :

Pour Grafana, il faut lui apprendre à répondre à la « location » /grafana

Dans une install « classique » ça se passe dan le fichier /etc/grafana/grafana.ini dans le bloc « server » :

[server]
root_url = http://localhost:3000/grafana
serve_from_sub_path = true

Maintenant j’imagine que tu utilises l’add-on fourni par le superviseur et je ne sais pas dire si tu pourras modifier de manière pérenne le grafana.ini .

Pour ecocompteur et influxdb je ne sais pas dire si cette solution est applicable.

Bref je n’utilise ni duckdns, ni nginx-proxy-manager, alors peut-être que des utilisateurs plus aguerris sur ces add-on pourront t’aider plus efficacement :wink:

[Edit] j’ajoute un lien vers la doc grafana :

Utilise les sous-domaine plutôt.

grafana.xxxxxx.duckdns.org

1 « J'aime »

Juste par curiosité, nginx-proxy-manager va générer un certificat par sous-domaine ou il sait gérer le « wildcard » ?

Salut @Clemalex,

Pourquoi pas, je suis preneur !
Un lien pour un exemple, une doc ou un tuto ?

Merci @herbs,

Du coup cela ne correspond pas à mon besoin car l’ecocompteur est un système propriétaire Legrand ou on ne peut pas modifier le lien.

En tous cas merci

Je m’en doutais un peu, et pour le coup mon reverse proxy c’est un nginx « pur et dur » qui tourne sur un container LXC.

Et j’utilise des certificats wildcard, donc bref je vais pas pouvoir t’aider beaucoup plus.

En tous cas merci quand même.

Cela fait plusieurs fois que je vois dans mes recherches le mot « wildcard » et je ne comprend pas à quoi cela fait référence.

Tu peux m’en dire un peu plus ?

Admettons que ton nom de domaine soit :

schmilblick.fr

Quand tu vas demander à letsencrypt de générer ton certificat tu vas lui demander de certifier :

schmilblick.fr
*.schmilblick.fr

Ensuite tu peux créer autant de sous domaine que tu veux en utilisant ce certificat du moment que tu restes sur le même niveau de sous-domaine.

https://www.certificat.fr/fr/support/faq/quest-ce-que-est-certificat-wildcard

Après y’a débat sur l’utilisation de ce type de certificat, mais quand tu as plusieurs sous-domaine ça peut vite devenir compliqué de gérer les renouvellements si tu en as un par sous-domaine.

1 « J'aime »

Dans ma boite on a quelques dizaines de sites web différents avec un wildcard. Donc, pour HA, grafana et ses amis à la maison, ça me parait effectivement la solution.

Il gère les wildcard

1 « J'aime »

Merci pour l’info,

Un jour faudra que je prenne le temps de creuser un peu sur cet outil :wink:

Pas trop le temps mais fais des recherches sur le forum, on en a deja parlé c’est sur.

Pour info :

https://forum.hacf.fr/t/acces-de-l-exterieur-en-https-avec-nginx-proxy-manager/1761

Tout pareil sauf au moment ou tu renseignes ton nom de domaine tu mets pas <nom_de_domaine.duckdns.org> mais <sous.domaine.duckdns.org>

Je suis retombé la dessus :

https://forum.hacf.fr/t/ajout-certificat-let-encript-https-lacces-exterieur-ne-fonctionne-pas/6416/4?u=clemalex

Et pour info @Herbs @Neuvidor duckdns gère parfaitement le wildcard également de leur côté.

J’ai ovh et duckdns et les deux ont un certificat en wildcard :

J’avais suivi ce tuto à l’époque, très bien fait d’ailleur.

Va falloir que je regarde car je n’ai pas compris comment créer le sous-domaine…

Bonsoir,

je ne suis pas expert ngnix, je ne pense pas qu’il soit nécessaire que le /quelquechose/ soit aussi dispo sur le serveur cible, un reverse proxy gère cela de base normalement.
As-tu essayé sur la location au lieu de mettre /grafana de mettre /grafana/ ?

Bonsoir !

Les contraintes perso ont fait que j’avais mis de coté ce sujet cependant ton message m’a remit le pied à l’étrier. Pour être honnête je suis un peu perdu et je ne comprend pas vraiment ce que je dois faire pour y arriver.

Voici ma situation et mon besoin :

  • on peut voir içi que j’aimerai depuis l’extérieur avoir accès à mes différentes instances via un url différent pour chacun, avec le format d’un « wildcard » pour n’avoir qu’un certificat si j’ai bien compris.

A noter que :

  • nginx proxy manager est installé via l’add-on de Home-Assistant pour le moment
  • Je ne possède qu’un nom de domaine duckdns

Si j’ai bien compris avec les wildcards je devrais être capable depuis l’extérieur d’accéder aux différentes instances chez moi sans les exposés directement sur internet. C’est bien ça ?

Si oui c’est parfait mais comment procéder ? L’un d’entre vous peut-il m’aider pas à pas car je galère à comprendre la démarche malgrès mes recherches. Une connexion à distance via team-viewer peut-être envisageable si cela est plus simple. Je formaliserai la solution içi dans tous les cas.

j’ai pas toutes les répondes, mais concernant le wildcards c’est juste un certificat « global » et non un certificat par fqdn.
Exemple: sans certificat wildcard, il faudra 1 certificat pour grafana.toto.com, 1 certificat pour plop.toto.com
Alors qu’avec un wildward (*.toto.com) tu peux l’utiliser pour tous tes sous-domaines : granfana.toto.com, titi.toto.com
C’est pas le wildcard que tu exposes c’est un reverse proxy, le wildcard c’est ni plus ni moins qu’un certificat SSL/TLS qui est valable pour tout un domaine. Il faut juste trouver le configuration correcte du reverse proxy.

1 « J'aime »

En complément des très bonnes remarques de @Alasta il est tout à fait possible de gérer simplement autant de certificats que de sous domaines. Le domaine c’est toto.fr, le sous domaine toto etc.

Question notation, le séparateur @ dans une URL c’est un moyen de transmette des identifiants : https://user:password@grafana.duckdns.fr.com du coup c’est perturbant sur ton schéma car ça veut dire autre chose

À vérifier également mais ton URL de duckdns est déjà un sous domaine neuvidor.duckdns.com. Pas certain que l’on puisse avoir des sous sous domaines chez eux (même en payant) grafana.neuvidor.duckdns.com et ha.neuvidor.duckdns.com