Reverse proxy pour plusieurs nom de domaine

Bonjour,
Je viens de m’installer un Raspberry pi 4 qui me permet d’avoir un serveur de blog avec Wordpress, un serveur cloud avec Nextcloud et un serveur mail avec Postfix et Dovecot. Tout fonctionne très bien comme ça avec un nom de domaine et des utilisateurs (tous de ma famille) avec chacun leur adresse mail et leur cloud perso.
Je voudrais maintenant faire une copie de ce qui existe sur un deuxième Raspberry pi avec un autre nom de domaine et d’autres utilisateur. J’ai entendu parler de reverse proxy, mais la j’avoue ne pas très bien comprendre comment avec une seule connexion internet je vais pouvoir servir deux noms de domaine différents. Pour les nom de domaine encore je crois que j’ai compris qu’un reverse proxy permet de rediriger les noms de domaines vers les bons serveurs, mais pour la gestion des ports pour les serveurs mail je sèche un peu.
Si quelqu’un connaît ce domaine j’aimerais bien un coup de main sur la configuration de ce fameux reverse proxy.

Déjà, avec Virtualmin, tu aurais été en mesure de faire pas mal de chose facilement, comme la copie des comptes.

Je ne connais pas ta configuration de tes domaines, de tes IP et de ce que tu vais faire. Merci la prochaine fois de t’attarder à la partie sur lequel tu cherche de l’aide, comme ici les DNS et domaine, et non les serveurs. De plus, je ne sais pas si tu contrôle ton domaine, si tu gère ton Web avec Apache (best) ou NGinx (bad).

Le domaine est une version texte de ton adresse IP, et l’adresse IP est associé qu’a un seul appareil, tu ne peux pas le partager sans avoir une gestion centralisé. Si ton serveur 1 reçois tout les appels du Web (DMZ), soit tout les ports ouvert directement, c’est lui qui gère les entrées, si tu es derrière un routeur, et que tu as fait des redirection, alors dans certains cas tu peux ajuster le pointage sur un port différent (redirection de port). Pour certains services (port) partagé, soit tu centralise, soit tu use de redirect ou de proxy pour faire le travail.

Je ne travail pas dans ce type de configuration, qui devient vite compliquer a gérer et dont les systèmes peuvent être interdépendant. Moi même j’aime l’idée d’avoir le contrôle sur mes choses, c’est pour ça que j’ai plutot opter pour un vrai serveur dédié J’ai par exemple 8GB Ram 8 Coeurs, 1Tb sur 1Gbps pour moins de 20Euro/mois. C,est plus stable, rapide et facile a gérer. J’ai déjà fait en local, et ça peut vite dégénérer, et en plus tu offre le service à ta famille (chapeau pour ça, moi on m’ignore avec ce genre d’idées :P) peut devenir problématique. Mais continuons avec ton projet dans l’état.

Alors la ton Serveur 1 sera surement le « Master », alors quand des services partager vont l’atteindre, si il doit rediriger, ce sera lui qu’il le fera.

Pour des serveurs de courriels, tu n’a qu’a gérer un seul serveur, tu peux mettre les courriels du domain2 dans la boite de domain1 sans problème, avec les « alias ». Alors inutile d’en monter sur le second serveur, tu gardera quand meme les services de base, pour que les communication par email produit par serveur2 puisse aller dans les boites de serveur1.

Pour le FTP, je crois qu’il est possible de faire de la redirection, mais ce serais du « bouncing », et ferais en fait que tu passe toujours les fichiers depuis serveur2, dans le ftp de server1 pour apres tu les recois.

Le SSH, j’ai aucune idée si il est en mesure de le faire, mais le plus simple et « safe » en cas de problème est de passer directement par une redirection de port sur le routeur, et sinon en accès direct quand tu es local (avec ip local).

Le serveur Web, est aussi géré par Nextcloud. Alors la faut installer Nextcloud sur le serveur 1 dans un VHost spécifique, tu va créer un proxy dans le serveur1 pour pointer vers le serveur2 si tu as un serveur web ou Nextcloud actif.

Sur serveur 2, il devra aussi avoir les Vhost correspondant.

Vu que c’est un proxy, tu auras des problèmes;

  • Faudra créer de al redirection sur certains port de Serveur1 vers Serveur2 dans certains cas ou configurer des port différent pour certains services, car il ne prenne pas la gestion de VHost
  • Certaines formulation des liens peuvent être buggés
  • Certains transfert va transiter par Serveur1 même si tu travail sur Serveur2 techniquement.

Alors il faut organiser l’ensemble, voir les options qui semble les mieux. Un partage de service similaire entre 2 appareils (2 nextcloud) n’est pas pratique, tu as deux services identiques à gérer. Il vaut mieux utiliser les redirection de port, et que les VHost Web pour gérer tes ressources/services, et te limiter a des configuration qui demande l’usage de proxy/vhost au minimum dans ta structure.

Car ici, si serveur1 tombe en panne, serveur2 n’est pas atteignable.

C’est comme configurer un serveur en NAT, ce qui est très compliqué. Habituellement ce genre de configuration travail plsu sous un principe d’un serveur 0 qui gère tous les ports et qui va rediriger les appels sur serveur1, serveur2, serveur3 selon les demandes, et va servir alors que de « filtre réseau » ou un genre de gros « DNS avec proxy ». Mais c’est d’une complexité que j’en vois aucunement l’intéret.


Si tu arrive a nous expliquer clairement la vision global du projet, les usages, et même les raisons qui motive un second RPi, nous pourrion cartainement arriver construit un beau projet facilement.