Plusieurs nom de domaine externe vers plusieurs IP locale

Bonjour,

J’inaugure la nouvelle catégorie.

J’ai besoin de vos avis d’expert.

Je voudrais savoir comment avoir plusieurs NDD externe arrivant chacun sur des IP locales différentes.

Configuration de mon réseau.

Box opérateur → Box sous OpenWRT → les installations.

J’aimerais que :

NDD1 → IP Locale 1 :80 ou 443
NND2 → IP Locale 2 :80 ou 443

Si vous avez la fonction ou le terme à utiliser pour des recherches plus approfondies.

Merci d’avance

Est-ce obligatoire plusieurs IPs dans ta question ?

Car avec une IP, différents NDD et un reverse proxy ça fait le taf !

1 « J'aime »

On est bien d’accord que NDD1 c’est toto.fr et NDD2 titi.fr et que les hosts dans ces domaines sont xyx et abc. Donc, on a abc.toto.fr et xyz.titi.fr. C’est ça que tu veux faire?
Dans le DNS, tu te débrouilles pour que tout ça envoie vers ton IP perso. Soit une IP fixe, soit une IP dynamique avec mise à jour sur dyndns, cloudflare ou équivalent.

Sur le box opérateur, faire une ouverture de port (je recommande de mettre tout en 443) qui envoie vers openwrt.
Sur openwrt, idem, faire une ouverture de port vers une adresse IP privée du LAN et le port 443
Sur cette IP là, tu mets un reverse proxy (c’est ça le mot magique), ça peut être nginx (ce que j’ai) ou caddy.

La configuration ressemble à:

server
{
	listen      443;
	ssl on;
	satisfy any;
        allow 127.0.0.1;
        allow 192.168.0.0/24;
        allow 192.168.2.0/24;
        deny all;
	server_name xyz.titi.fr;
	location /
	{
	    proxy_set_header    Upgrade     $http_upgrade;
	    proxy_set_header    Connection  "upgrade";
		proxy_pass  http://192.168.0.126:8123/;
	}
}

server
{
	listen      443;
	ssl on;
	satisfy any;
        allow 127.0.0.1;
        allow 192.168.0.0/24;
        allow 192.168.2.0/24;
        deny all;
	server_name abc.toto.fr;
	location /
	{
	    proxy_set_header    Upgrade     $http_upgrade;
	    proxy_set_header    Connection  "upgrade";
		proxy_pass  http://192.168.0.142:8123/;
	}
}

Comme ça, on peut masquer deux serveurs HA internes avec les deux noms.

Merci pour vos réponses.

Donc oui les deux NDD pointent vers UNE IP (box) la redirection vers open wrt est déjà OK.

Donc il faut que je passe via NGINX.

Merci je n’ai pas pensé à ça.

Je vais essayer de soir

Je ne sais pas si j’arrive après la bataille mais je peux apporter quelques infos.

Effectivement il faut que tu utilises un système de reverse proxy pour gérer ce que tu souhaites faire.
Il existe plusieurs types de solutions, pour ma part j’utilise HAproxy, mais tu peux très bien faire la même chose avec les modules de nginx ou même apache.

Plus concrètement ce qu’il faut que tu fasses :

  • Pour tous tes noms de domaine créer des enregistrements de type CNAME ou A qui redirige sur ton IP public
  • Au niveau de ton firewall (ta box ou ton équipement dédié) autoriser les ports que tu souhaites et les rediriger sur ta machine où tu installes ta solution de reverse proxy
  • Sur ta machine qui héberge ton reverse proxy rediriger le flux, en fonction du domaine et/ou du port que tu souhaites (selon l’application), sur ton backend qui pointe sur ta machine locale.

Voilou, en espérant que je puisse t’apporter quelques lumières au cas où tu es toujours en cours d’installation de ta solution.

1 « J'aime »

Merci bien,

Je n’ai pas eu le temps de regarder se soir je vais essayer demain.

Merci a vous tous

Ben alors je reviens après avoir essayé quelques trucs.

Il s’avère que mon nginx n’est ps nginx mais uhttpd Quelqu’un connait ?

Je peut mettre nginx mais la configuration n’est ps standard j’ai l’impression.

Je suis un gros naze la dedans. lol

1 « J'aime »

De ce que j’ai cru comprendre à la doc (quand on la lit, on se dit que celle de HA est limpide :slight_smile: ), c’est uhttpd qui est installé par défaut, mais, que tu peux installer nginx.
Suivant la doc:

Of course there will be port issues if we installed LuCI before or after Nginx, since the standard LuCI package installs uHTTPd, which also wants to claim port 80 (and port 443 for HTTPS). So configuring and/or portforwarding may be neccessary. There are ways to run LuCI with Nginx but that is not coverd here. For a quick fix, just change the uhttpd port to something else in /etc/config/uhttpd

Donc, il faut changer le port de uhttpd vers autre chose (ça doit vouloir dire que pour faire l’admin de ta boîte après, il faudra aller sur ip_openwrt@8443 par exemple) et ensuite installer nginx qui prendra le 443.
Par contre, ce que je ne sais pas c’est si avec openwrt par défaut tu peux faire une redirection de port vers un nginx (ou caddy) installé comme adon de HA. J’imagine que oui… Donc, plutôt que d’installer nginx sur openwrt tu le mettrais sur ton HA.

Hello, Avec l’addon nginx proxy manager c’est simple tu ajoute tes noms de domaine puis tu redirige vers tes ip locales.
Tu redirige juste 80 et 443 vers l’ip du nginx. Y a un tuto ici.

1 « J'aime »

@golfvert et @cob94440 merci pour vos informations.

Je l’ai fait hier ça ne marché pas et la ça a marché.

Maintenant c’est l configuration de nginx qui n’ pas l’air standard.

Quand tu me donne çà @golfvert, je dois bien les mettre dans deux fichier différent ? dans ces fichiers ?
/etc/nginx/conf.d/ndd1.com.locations
/etc/nginx/conf.d/ndd2.com.locations

Ce qui est bizarre est que le dossier conf.d n’est pas créé.

server
{
	listen      443;
	ssl on;
	satisfy any;
        allow 127.0.0.1;
        allow 192.168.0.0/24;
        allow 192.168.2.0/24;
        deny all;
	server_name xyz.titi.fr;
	location /
	{
	    proxy_set_header    Upgrade     $http_upgrade;
	    proxy_set_header    Connection  "upgrade";
		proxy_pass  http://192.168.0.126:8123/;
	}
}

server
{
	listen      443;
	ssl on;
	satisfy any;
        allow 127.0.0.1;
        allow 192.168.0.0/24;
        allow 192.168.2.0/24;
        deny all;
	server_name abc.toto.fr;
	location /
	{
	    proxy_set_header    Upgrade     $http_upgrade;
	    proxy_set_header    Connection  "upgrade";
		proxy_pass  http://192.168.0.142:8123/;
	}
}

J’essai encore un peu et sinon je passerais par HA directement mais ben je préfère gérer a par mon routeur.

Merci encore pour vos réponses

Sérieusement passe par nginx proxy manager. il est dispo en addon ou en docker. et c’est hyper simple.

1 « J'aime »

Pour savoir si c’est le bon endroit, il faudrait regarder le fichier

/etc/nginx/nginx.conf

Ca va te donner ce qui est inclut au moment du démarrage de nginx. Il devrait y avoir un truc comme:

include /etc/nginx/conf.d/*.conf;

Ca veut dire que tous les fichiers .conf seront chargés.

Normalement les config server (} que tu mentionnes devraient chacune être dans le fichier .conf du NDD.

Déjà, essaie de démarrer plus simple. Un seul nom de domaine et un seul serveur. Arriver à faire marcher cela déjà. Après, faire plus compliqué :slight_smile:

C’est sans doute plus simple effectivement.
Mais, bon, à partir de 18:00 on est à la maison. Faut bien s’occuper :slight_smile:

Merci oui j’ai bien essayé mais ca ne marche pas.

Je me suis lancer dans nginx proxy manager bah euh … comment dire… POURQUOI JE NE L4AI PS FAIT PLUS TOTO HAHAHHAHHHA lol en 5 minute probleme règlé lol

Merci au tuto de @Sylvain_G

1 « J'aime »

j’ai une question par rapport a nginx proxy manager
Si un addon demande le chemin du certfile et privkey
le chemin est bien celui ci : nginxproxymanager/live/npm-1/xxx.pem ?