Nginx Proxy Manager - Custom location

Hello !

Vous ne dormez donc jamais ? En tous cas merci pour vos réponses :slight_smile:

Du coup je pense que cela commence un peu à s’éclaircir pour moi, il faut dire que j’étais dans une très profonde pénombre…

Du coup sur mon précédent schéma il y avait bien une erreur, je ne veux pas de @ dans le lien car pas besoin d’y mettre de username/password.

Si je comprend bien, je dois :

Le schéma mis à jour :

Ai-je compris ou suis-je encore complètement à la masse ?

Ça semble tout bon !
Après le sujet c’est de voir s’il est intéressant de tout exposer… Grafana admettons. Mais influxdb et nodered, c’est un autre débat.
Et ajoute-t-on des contrôles d’accès en plus…

C’est un souci ici. Du coup entre 2 réveils je m’occupe

Hello,
Je découvre cette discussion sur le tard, et beaucoup de belles réponses ont été données.
Je vais essayer d’y ajouter les miennes

D’une part, si tu as un certificat Wildcard sur blabla.duckdns.org, cela ne marchera pas pour Ha-blabla… mais pour ha.blabla.
(point à la place du tiret)

Quand tu crées une entrée chez duckdns, en fait tu crée un sous domaine de chez eux, pas une simple entrée
Ainsi, si on demande kekchose.blabla.duckdns.org, ou bien truc.blabla.duckdns.org, les serveurs DNS vont répondre avec la même IP affectée à blabla.duckdns.org.

Pour le wildcard, NPM est capable de les gérer, mais il faut faire une validation sur le DNS (DNS Challenge). Cela signifie qu’il faut mettre une entrée particulière dans le DNS de blabla.duckdns.org pour que Let’s Encrypt valide ton domaine( je vais pas rentrer dans les détails, ce serait trop long et sur téléphone trop chiant à écrire :blush:)

De mémoire, la version de NPM qui est sous forme d’addon de HA n’embarque pas la validation DNS pour duckdns. Ça a peut être changé (c’était il y a environ 1-2 mois la dernière fois que j’avais essayé. Depuis, je ne suis plus en supervised mais en container LXC sur mon prixmox).
Si c’est toujours le cas, et que tu veux absolument un wildcard (ce qui peut être utile si tu as beaucoup de domaines à exposer, ça permet de s’affranchir de la limite des 5 certificats par jour de LE), il faudra que tu mettes NPM en LXC sur ton proxmox (en espérant qu’il soit allumé H24 comme ton HA)

Si je peux, dans la journée, j’essaye de te faire des screenshots de ma config NPM. C’est exactement ce que j’ai (proxmox, container LXC avec NPM, et du duckdns derrière tout ça).

A+

Exact, mais après tout le wilcard c’est pas une finalité en soit. Y compris par rapport aux limitations de let’encrypt. 5 nouveaux certificats par jour (et sachant que les renouvellementsne sont pas comptabilisés) ça laisse de la marge.
Si le renouvellement est automatique, c’est pas gênant.

Un jour il faudra que je prenne un peu de temps pour expliquer comment faire un truc hyper sympa avec Traefik…

1 « J'aime »

Je commence à faire le lien entre mes recherches et vos différentes reponses. Enfin j’espère :joy:

Ce serait génial, je te remercie par avance !

Entièrement d’accord avec toi et tu fais bien de le préciser. Mon schéma est surtout là pour poser les choses. En fait je n’exposerai que HA, Grafana et mon Ecocompteur. Le reste restera local car aucun intérêt.

:heart: :drooling_face::heart_eyes:

Alors voici comment j’ai fait pour créer mon certificat WC avec NPM & DuckDNS.
Pré-requis :

  • Nginx Proxy Manager (NPM) installé et fonctionnel
  • Les ports 80 et 443 sur ta box forwardés vers l’IP interne de NPM
  • Avoir un compte DuckDNS
  • Avoir créé un sous-domaine là bas :

Dans NPM : Aller dans l’onglet « SSL Certificates » et cliquer sur « Add SSL Certificate », et choisi « Lets’Encrypt »
image

Dans la fenêtre, dans le champ « DomainNames », ajouter « *.(tondomaine).duckdns.org »
Activer la coche « Use DNS Challenge »
Choisir « DuckDNS » dans le DNS Provider.
Ajouter le Token DuckDns que tu trouves sur la page de DuckDNS une fois authentifié.

Cliquer sur save, et au bout de quelques secondes, tu auras ton certificat.

Cliquer sur Valider, cela va créer un certificat valide pour *.(tondomaine).duckdns.org.
[EDIT]
Si besoin d’avoir un site exposé directement sur le domaine (tondomaine).duckdns.org, il faut alors créer un certificat standard dessus. LetsEncrypt est normalement capable de gérer les SANs (Subject Alternative Names, des noms supplémentaires dans un même certificat), mais j’ai l’impression que le plugin DuckDns ne l’est pas, car cela n’a pas fonctionné quand j’ai testé.

Une fois que c’est fait, tu peux créer ton proxy comme avant :


Dans l’onglet SSL, tu choisis le certificat Wildcard que tu as créé :
image

ET voili voilou.Tu peux utiliser ce même certificat pour tous tes proxies, à la condition bien sur que le nom voulu soit de la forme XXX.(tondomaine).duckdns.org

Alors perso, je n’expose pas tout, mais (pratiquement) tout passe par NPM quand même :wink:
C’est à dire que j’ai fait une AccessList dans NPM pour différentier le réseau interne (en 192.168.1.*) chez moi, et je n’autorise que ces machines sur les serveurs non « publiés ». De l’extérieur, ca renvoie une 403.
Ca me permet d’accéder en interne à tout sur la même URL…Certes, ca fait un détour par ma box, mais bon, c’est pas bien gênant.

Traefik, c’est génial dans un environnement full Docker. Ce n’est pas mon cas, car j’ai des containers LXC avec proxmox.
Mais je suppose que tu veux parler de la configuration automatique de Traeffik pour exposer les containers docker en mettant juste un ‹ label › dans le docker-compose, et effectivement, ca, c’est génial une fois que tout est bien configuré.

++

3 « J'aime »

Oui en container (et dans le même lan docker !) c’est pratique… Mais ça marche aussi avec le reste, lxc, vm… C’est juste un peu moins auto
Dernier truc : lxc, c’est du container (LinuX Container) … Juste pas du container docker

Super clair !

Un grand merci @Tof et tous les autres d’ailleurs !

Cela correspond à ce que j’avais compris par contre si je ne dis pas de bétise l’add-on NPM de HA ne dispose pas de DuckDNS dans le DNS provider d’où mes premiers essais non concluant.

Je vais installer la dernière version de NPM dans un container LXC sur mon proxmox pour voir.

Effectivement, l’addon n’a pas été mis à jour depuis mai 2021…
Il y a eu un ticket pour le support d’une nouvelle version de NPM (Support for LetsEncrypt DNS-Chellenge for DuckDNS in v2.9.3 · Issue #230 · hassio-addons/addon-nginx-proxy-manager · GitHub), mais elle a été fermée sans plus d’explication que ce n’est pas une « issue »…
C’est un peu pour ça que je me suis libéré de HA Supervised. Être plus libre dans le choix des modules à coupler. Au détriment de la facilité !

Tiens c’est surprenant comme conclusion. Justement de mon coté j’aime bien la facilité de HA supervised, mais ça ne m’empêche pas à coté de faire tourner d’autres trucs, liée à HA (pour remplacer un addon que j’aime pas) ou qui n’existe pas, du coup j’ai l’impression de cumuler les bon coté des 2 mondes. Au total, j’ai bien une demi douzaine de VM en permanence et une 40aine de containers

J’avoue que je suis du même avis que toi @Pulpy-Luke, je ne suis qu’un petit amateur qui j’utilisais beaucoup les addons HA mais qui a découvert Proxmox donc forcément je migre petit à petit tout dans celui-ci. Bref je me sens libre et je ne vois pas vraiment de limite hormis celles liés à mes faibles compétences techniques…

Un grand merci à vous tous ici, tout fonctionne comme je l’espérait !

Comme d’habitude c’est un grand plaisir que d’échanger avec vous. Le tuto de @Tof et les explications des autres m’ont permis de mieux comprendre le fonctionnement du reverse proxy.

Pour conclure, j’ai donc installé un container LXC sous proxmox avec Nginx Proxy Manager (ce tuto m’a aidé : https://zatoufly.fr) puis j’ai suivi les recommandation de @Tof ici

Il me reste cependant un élément à vérifier, comment le certificat est-il renouvelé ? Est-ce automatique par défaut ou faut-il mettre un automatisme quelque part ?

1 « J'aime »

Je pense que @Tof est du même avis que nous car quand il dit se liberer de HA supervised, je pense qu’il indique comme nous qu’il complète HA supervised avec des containers/VM.

Non, je me suis bien séparé de HA supervised pour un HA container (dans un container LXC, oui, Nested Containers) :grinning:

En fait, j’ai eu une mauvaise expérience avec la version supervised.
Sûrement du à une mauvaise installation de ma part, mais j’avais des plantages réguliers sans aucun autre moyen que de rebooter la VM.
Je l’avais installé dans une VM sur mon proxmox, et j’y avais inclus tous les addons qui m’intéresse (Mosquitto, Z2M, NodeRed et NPM + samba share et VScode).
Un matin, je me lève, impossible d’allumer ma lumière ! Heureusement, il reste des inters physiques :sweat_smile:.
Je regarde l’état de proxmox, correct, pas chargé… je regarde l’état de la VM, elle répond au Ping mais impossible d’ouvrir l’interface de HA ni de s’y connecter en SSH. Je remarque via interface de proxmox qu’un des CPU est à 100%. Pas le choix que de rebooter la
VM. Dommage, car je n’ai pas pu déterminer quel était le process gourmand.
Je zieute les logs après reboot, rien d’anormal.
Je me dis, pas trop grave, un petit bug ça peut arriver.
Deux jours plus tard, même chose. Plantage , impossible de se connecter,…. En journée cette fois.
Du coup, je me dis qu’il y a un soucis quelque part. Et la, je me lance dans une séparation des services. Histoire de ne pas avoir tous les œufs dans le même panier, et peut être, de voir quel serait l’addon qui plante.
Je tombe en recherchant des infos sur un gars qui a écrit des scripts d’install pour créer des
Containers LXC avec tous les trucs qui m’intéressent. Je jette un œil à ces scripts, ça a l’air plutôt bien fait. Et je me lance.
Depuis, plus aucun problème. Ça fait une dizaine de jours, je croise les doigts :crossed_fingers:

Je pense que c’est mon installation initiale qui devait merder, mais je suis content d’avoir tout séparé quand même. Il n’y a pas de fonctionnalité de supervisor qui me manque a part peut être les backup (que je fais via proxmox du coup) et les notifications de mises a jour… mais c’est du détail et on peut toujours faire autrement.

Si vous vous posez la question du pourquoi être parti sur un HA Container dans un LXC plutôt qu’un HA Core directement, c’est d’une part parce que le script cité plus haut faisait comme ça (je sais, c’est pas une raison valable :sweat_smile:), mais aussi, cela me permets d’installer des addons qui ont besoin d’accéder directement à la config de HA, comme par ex, le vscode server.

Voilà, je me suis un peu écarté du sujet initial, mais c’est pas grave je pense :wink:

Bon dimanche a tous.

1 « J'aime »

Alors en lisant les détails, il y a de grandes chances que le coupable soit vstudio… J’avais le même souci avec un lien symbolique /config->/ qui faisait partir l’addon en boucle infinie

C’est le Python qui se mord la queue :joy:
Ah non, vscode est en JS… dommage, ça aurait pu faire une bonne blague :upside_down_face:

Bref, j’aurais jamais pensé à VSCode… j’imaginais plus in soucis genre USB passthrough vers la VM ou ce genre de truc…

Excellente !
Oui je me souviens plus exactement pourquoi cette bidouille (ça date du tout début) et j’étais à priori pas le seul j’ai retrouvé une issue qui m’a mis sur la piste

Du coup j’ai également migré DuckDNS sur Proxmox. Au final je me retrouve avec un container LXC basé sur le Template Proxmox « Ubuntu 20.04 » sur lequel j’ai mis Docker & Portainer puis dans celui-ci j’ai créer 2 stacks :

  • Nginx Proxy Manager
  • DuckDNS

Voici le résultats :

=> Je sais déjà que les puristes me diront que Debian c’est mieux mais je sais pas pourquoi, certainement le fait que je sois novice, j’aime mieux Ubuntu.