Nginx Proxy Manager et letsencrypt...


Recommended Posts

Salut à tous !

J'essaye de comprendre tout le "bazar" car dans des tutos, les auteurs oublient de parler de certaines choses, pour eux semble évidentes.

Ce que j'ai pu comprendre pour son server :

-Il faut une IP fixe ? Vrai ou faux ? Un dyndns suffit il ?

-Il faut un nom de domaine ? Vrai ou faux ? https://letsencrypt.org/fr/docs/certificates-for-localhost/

-Il faut manger un paquet de chips par jour et/ou manger que des M&M's bleus ? Vrai ou faux ? ;)

 

Merci par avance.

Link to comment

Hello,

 

Il faut une IP fixe ? Vrai ou faux ? Un dyndns suffit il ?

IP statique sur ton serveur va de soi. DynDNS seulement si l'IP de ton FAI est amenée à changer 😝

 

Il faut un nom de domaine ? Vrai ou faux ?

Je suppose que tu as la réponse vu le lien que tu as posté. Perso, j'ai un abonnement chez o2switch. J'achète mon NDM chez mon registrar, je crée mon NDM chez mon hébergeur et je crée mon certificat SSL et pour terminer je crée un enregistrement A vers l'IP publique de mon NAS

 

Il faut manger un paquet de chips par jour et/ou manger que des M&M's bleus ? Vrai ou faux ?

Je préfère les marrons 😋

 

Bon dimanche.

Link to comment
  • 2 months later...

Si je peux être un peu plus exhaustif sur le sujet:

 

Le serveur doit avoir une IP LAN fixe, le WAN peut-être dynamique, tant qu'un DynDNS est configuré.

 

Dans Nginx, selon ton registrar, tu peux lui fournir tes clés d'API pour qu'il s'y connecte et génère automatiquement un nouveau certificat SSL avant son expiration (il fait cette tâche tout seul).

 

Je prend mon cas pour exemple:

 

Mon serveur a une IP LAN Fixe, tout comme le Docker Nginx, le docker Pi-Hole et un Docker pour NextCloud. J'ai une box Orange qui change d'adresse dynamiquement. J'ai enfin un nom de domaine chez OVH.

 

Les IPs -> Box Orange : 192.168.3.1 / Pi-Hole : 192.168.3.254 / Nginx-Proxy-Manager : 192.168.3.253 / NextCloud : 192.168.3.252 / IP WAN Dynamique

 

image.png.f527d80669e68718119c6dba37a2478e.png

Pi-Hole va servir de DHCP, et il distribue sa propre IP comme adresse DNS primaire. L'adresse de passerelle est celle de la box Orange 192.168.3.1.


image.thumb.png.04dc906a8cd1655b1db138e38d9095c7.png

Pour accéder à NextCloud depuis le LAN comme le WAN, nous allons procéder ainsi:

Dans Local DNS -> DNS Records, on lie notre nom de domaine à l'adresse IP de Nginx, car c'est lui qui fournira le certificat SSL pour le https.

 

image.png.7856c9a440f8e5dfaa5b93e53d963b37.png

A présent, on rajoute notre nom de domaine dans Nginx que l'on lie à l'adresse IP de NextCloud. Notez que NextCloud accepte que le HTTPS par défaut (en forçant https), on le définit donc dans scheme ainsi. A l'inverse, Photoprism n'est accessible que part HTTP et il faudrait définir "scheme" ainsi. On renseigne le port d'accès selon celui que vous avez définit dans le Port Mappings de Docker.
"Scheme" définit comment Nginx accède au site, pas le client final.

 

image.png.8ef66e799a0c4f29e303b65fb4d83549.png

Ports Mappings du docker

 

image.thumb.png.ee9d61fe5b16a43db02f6456f586bd32.png

Maintenant, nous nous rendons dans la partie SSL:

Selon les registrars, certaines informations sont à remplir dans "Credentials File Content". Pour OVH, il faut créer les Token dans l'espace API d'OVH : https://api.ovh.com/createToken/

 

image.thumb.png.4b9802dfedfbb4889ff4addce29db92f.png

Saisissez-vous identifiants OVH, et saisissez comme dans l'illustration vos rights. Notez que ce sont les droits les plus permissifs et qu'il conviendra quand on a la main d'ajuster comme ceci :

Spoiler

GET /domain/zone/

GET: /domain/zone/{domain.name}/

GET /domain/zone/{domain.ext}/status

GET /domain/zone/{domain.ext}/record

GET /domain/zone/{domain.ext}/record/*

POST /domain/zone/{domain.ext}/record

POST /domain/zone/{domain.ext}/refresh

DELETE /domain/zone/{domain.ext}/record/*

Remplacer domain.ext avec votre nom de domaine racine (sans sous domaine comme test.domaine.com par exemple)

 

En cliquant sur Create Keys, les clés nécessaires sont fournies. Enregistrez les, vous ne les reverrez-plus mais vous en aurez à nouveau besoin si jamais vous perdiez votre configuration.

 

En sélectionnant "Request a New SSL Certificate", et en renseignant les clés précédemment obtenus dans "Credential Files Content", nous pouvons sauvegarder la configuration. Certbot va alors tourner un moment (1 minute).

 

image.thumb.png.ef55590e6b185028eb444e3a6715250d.png

 

Le résultat précédant apparait, toutes les requêtes clientes adressées à Nginx avec ce nom de domaine sont chiffrées par Let'sEncrypt. Nginx lui communiquera en HTTP ou HTTPS avec l'application selon la configuration sélectionnée dans "scheme".

 

La partie LAN est finie, penchons nous sur le WAN.

 

Edited by gyto6
Link to comment

Pour la partie WAN, nous allons ouvrir l'accès à la de Nginx à Internet par HTTP + HTTPS. Cela revient à une redirection des ports 80 et 443 vers l'IP de notre Nginx (192.168.3.253 pour rappel).

 

Sur la LiveBox, connectez-vous à l'espace d'administration en saisissant l'adresse IP de votre Box dans un navigateur et allez dans "Réseau" puis "NAT/PAT".

 

image.png.629aa6e54583dae7011861182f34dee3.png

Sélectionnez "Secure Web Server HTTPS" et "Web Server HTTP", TCP uniquement à moins que vous ne sachiez ce que vous faites, et sélectionnez votre Nginx en cible. Laissez IP externes sur toutes.

 

image.thumb.png.a9ccdbb800283a6b3407d0a0f494e423.png

Connectez-vous à votre OVH dans un nouvel onglet, puis : 1 Web Cloud (en haut) -> 2 Déroulez "Noms de domaine" à gauche et cliquez sur votre domaine -> 3 DynHost -> 4 Gérer les accès.

image.thumb.png.689f98dc386cb6ab5e2a07726e483682.png

Cliquez enfin sur Créer un identifiant, puis créer un suffixe (ou pseudo de connexion) et son mot de passe. Laissez un * dans "Sous-domaine" pour que ces identifiants puissent régir des sous-domaines. Enregistrez quelques part ces informations et validez.

image.png.dcdc7ae40e214312b0e3edbe16fdc2d9.png

Retournez à la fenêtre précédente et sélectionnez cette fois-ci "Ajoutez un DynHost". Ici, nous souhaitons simplement que "domaine.com", nous laissons donc le champs, vierge. Pour test.domaine.com, renseignez "test" dans sous-domaine. Remplir enfin avec votre IP WAN correspondant au serveur ou votre maison et visible ici https://ipv4.lafibre.info/.

Si une erreur apparaît, rendez-vous dans la section "Zone DNS" et assurez qu'aucun champ de type A ne figure dans dans la zone.

image.thumb.png.a81a1a95586fdfd60644b2c1ef7d570c.png

Enfin, nous retournons dans l'espace de la Livebox, dans DynDNS cette fois-ci. On renseigne le nom de domaine auquel noussouhaitons nous connecter, l'ID (le Suffixe) définit auparavant et le mot de passe, et voilà !

image.png.7bb65c90c72049fd77918cec3f1a33ed.png

Edited by gyto6
Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.