Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 23/03/2023, à 22:07

Sky3RN

[RÉSOLU] Router apache2 correctement ?

Hello !

J'espère être dans la bonne section.

Concernant les serveurs web, j'ai quelques connaissances mais qui sont visiblement très limitées.
J'ai deux machines qui hébergent respectivement chacune un serveur, et j'aimerais rediriger mes noms de domaine correctement. Et c'est là que je sèche.

Je vous fait un schéma :
-J'ai mon nom de domaine classique, par exemple www.example.com;
-J'ai un ordinateur sur lequel est installé OwnCloud, cette machine me sert uniquement de serveur et rien d'autre, je n'y branche ni écran ni souris ni clavier;
-J'ai donc mon IP fixe sur laquelle je fais pointer mon nom de domaine, par exemple www1.example.com, pour l'envoyer sur la machine qui a OwnCloud. Le port 80 est officiel ouvert sur ma box pour rediriger vers cette machine;
-J'ai un deuxième ordinateur sur lequel j'édite mon site web en local avant de l'envoyer officiellement sur son serveur, et parfois j'ai besoin de montrer ça à des collègues avant de le publier officiellement, donc j'ai ouvert un port (par exemple le 800) et je donne l'URL "Mon IP":800 aux collègues, OU BIEN www1.example.com:800 jusque là tout va bien.

Ce que j'aimerais c'est pouvoir faire un www2.example.com qui pointe lui vers cette machine, sans forcément garder le port 800 et revenir au port 80 d'origine (si possible, sinon je garde le 800, peu importe, avec un .htaccess je peux faire en sorte qu'en tapant l'URL ça renvoie automatiquement sur le bon port. Ça, c'est ma méthode actuelle qui fonctionne déjà.).

Donc pour résumer, j'aimerais que www1 pointe uniquement sur la machine qui contient OwnCloud et www2 uniquement sur ma machine sur laquelle j'ai mon site en local.
On est bien d'accord que www1 et www2 pointent tous les deux vers la même adresse IP, alors comment les différencier à l'arrivée ?

Est-ce que c'est faisable ?
Si oui, et je pense que oui, comment procéder ?


Merci d'avance !
Julien / Skyërn

Dernière modification par Sky3RN (Le 24/03/2023, à 01:37)

Hors ligne

#2 Le 24/03/2023, à 00:07

Vobul

Re : [RÉSOLU] Router apache2 correctement ?

Salut,

Oui bien sûr c'est complètement faisable, voir même classique. En fait il te faut un VirtualHost apache (sur serveur 1 ou 2) qui joue le rôle de reverse proxy. Appellons-le "RP". Tu peux le configurer sur le serveur 1 ou 2, ça ne gêne pas, mais il faut que tu configures ta box pour rediriger sur ce serveur-là.

Donc t'as RP qui récupère tout ce qui arrive sur le port 80 de ton ip publique. Puis, en fonction du header "Host" (donc www1.example.com ou www2.example.com), il redirige sur le bon serveur, server1 ou server2.

La conf ça va être quelque chose comme ça :

<VirtualHost *:80>
    ServerName www1.example.com
    ProxyPreserveHost On
    ProxyPass / http://localhost:8080/
    ProxyPassReverse / http://localhost:8080/
</VirtualHost>

<VirtualHost *:80>
    ServerName www2.example.com
    ProxyPreserveHost On
    ProxyPass / http://server2:8080/
    ProxyPassReverse / http://server2:8080/
</VirtualHost>

Ici, RP est sur server1, donc il utilise "localhost". Et tes services tournent en interne sur le port 8080. Donc le RP il prend ce qui arrive sur le port 80 de l'extérieur, puis il redirige sur le port 8080 d'un serveur ou l'autre selon le nom de domaine associé à la requête.

Voilà j'espère que tu y vois plus clair. Là c'est les grandes lignes, il y a plein d'approches possibles.

À noter que si tu rediriges ton port 80 sur un serveur chez toi, je te conseille fortement de mettre en place des restrictions type auth basic ou ip, car tous les bots vont venir taper dessus, voir que y'a un owncloud derrière, et le jour où t'as une vuln critique dans owncloud t'es piraté en 5 minutes.

Dernière modification par Vobul (Le 24/03/2023, à 00:23)


Vobul
Utilisez le retour utilisable de commandes !!!
J'aime la langue française, mais je parle franglais, deal with it.
RTFM

Hors ligne

#3 Le 24/03/2023, à 00:09

jplemoine

Re : [RÉSOLU] Router apache2 correctement ?

Déjà, utilise le 8080 au lieu du 80 : c'est plus classique.
Ensuite, il faut utiliser faire un vhost avec un ServeurName qui va bien et un ProxyPass et ProxyPassReverse pour envoyer les requetes vers le 2ième ordi.
Voici ce que j'ai fait (on peut aussi mettre en https) :

<VirtualHost *:80>
    ServerAdmin webmaster@localhost
    ServerName www2.example.com
    ErrorLog ${APACHE_LOG_DIR}/error_jitsi.log
    CustomLog ${APACHE_LOG_DIR}/access_jitsi.log combined
    ProxyPass /  http://www2.example.com/
    ProxyPassReverse /  http://www2.example.com/
    ProxyRequests Off
    ProxyPreserveHost On
</VirtualHost>

Membre de l'ALDIL (Association Lyonnaise pour le Développement de l'Informatique Libre)
- En pro, après 20 ans de développement, administrateur Linux / Unix depuis Avril 2019.
- En privé, sous Ubuntu-Xubuntu depuis 2009.

Déconnecté jusqu’à nouvel ordre

Hors ligne

#4 Le 24/03/2023, à 01:31

Sky3RN

Re : [RÉSOLU] Router apache2 correctement ?

Merci les gars, c'est parfait ! Vous assurez.
J'ai pas mal bataillé parce qu'il fallait aussi que le module proxy_http soit activé. smile

Vobul a écrit :

je te conseille fortement de mettre en place des restrictions type auth basic ou ip, car tous les bots vont venir taper dessus, voir que y'a un owncloud derrière, et le jour où t'as une vuln critique dans owncloud t'es piraté en 5 minutes.

Va falloir que je me renseigne sur ce que c'est "auth basic" !

Hors ligne

#5 Le 24/03/2023, à 01:37

jplemoine

Re : [RÉSOLU] Router apache2 correctement ?

Et peut-être mettre :
- un fail2ban sur le serveur avec activation de la prison (jail) qui va bien. Avec ou pas gestion de la récidive.
- un geoip pour n'autoriser que les IP du (des) pays qui vont bien.


Membre de l'ALDIL (Association Lyonnaise pour le Développement de l'Informatique Libre)
- En pro, après 20 ans de développement, administrateur Linux / Unix depuis Avril 2019.
- En privé, sous Ubuntu-Xubuntu depuis 2009.

Déconnecté jusqu’à nouvel ordre

Hors ligne

#6 Le 24/03/2023, à 01:39

Sky3RN

Re : [RÉSOLU] Router apache2 correctement ?

jplemoine a écrit :

- un fail2ban sur le serveur avec activation de la prison (jail) qui va bien. Avec ou pas gestion de la récidive.

Fail2ban c'est déjà le cas ! J'ai aussi un script automatisé qui récupère à chaque heure cette blocklist : https://lists.blocklist.de/lists/all.txt - Pour la mettre à jour dans mon hosts.deny et qui renvoie tout ça dans IPTABLES. smile

Dernière modification par Sky3RN (Le 24/03/2023, à 01:39)

Hors ligne

#7 Le 24/03/2023, à 02:25

krodelabestiole

Re : [RÉSOLU] Router apache2 correctement ?

caddy est peut-être plus simple et pratique qu'apache pour faire du reverse proxy. par contre il n'a pas de module php par ex. (donc plutôt php-fpm) et ce sera moins documenté pour owncloud...
j'en parle quand même parce que comme serveur web je le trouve beaucoup plus accessible et élégant qu'apache ou nginx, donc parfait pour un simple reverse proxy !

En ligne

#8 Le 24/03/2023, à 03:55

Vobul

Re : [RÉSOLU] Router apache2 correctement ?

@kro: perso je suis assez fan de HAProxy (c'est français en plus !). Je le fais tourner dans un container en read only, c'est méga super stable (de toute façon docker le relance si il crash), et je suis le dev sur la liste email de dev, ce sont des gens très talentueux et pointus qui le développent. Les upgrades sont super smooth, genre j'ai la même config entre 1.8 et 2.6, les bug sont backportés super loin, bref, que du bonheur. Et puis c'est pas un webserver, c'est un load balancer, donc il fait ça très bien, et juste ça.

Caddy j'en ai entendu du bien également. smile


Vobul
Utilisez le retour utilisable de commandes !!!
J'aime la langue française, mais je parle franglais, deal with it.
RTFM

Hors ligne

#9 Le 24/03/2023, à 05:38

krodelabestiole

Re : [RÉSOLU] Router apache2 correctement ?

ha oui ça a l'air très bien haproxy ! jamais essayé parce que maintenant je bosse presque toujours avec docker, donc j'utilise plutôt traefik, un autre reverse proxy français wink

En ligne

#10 Le 24/03/2023, à 14:40

Vobul

Re : [RÉSOLU] Router apache2 correctement ?

Je ne savais pas que traefik était français smile Perso je l'ai discard assez tôt car il a besoin d'écouter sur le socket docker ce qui pose un problème de sécurité, et j'ai pas besoin d'ajouter/enlever des services tous les 4 matins.


Vobul
Utilisez le retour utilisable de commandes !!!
J'aime la langue française, mais je parle franglais, deal with it.
RTFM

Hors ligne