Contenu | Rechercher | Menus

Annonce

Si vous rencontrez des soucis à rester connecté sur le forum (ou si vous avez perdu votre mot de passe) déconnectez-vous et reconnectez-vous depuis cette page, en cochant la case "Me connecter automatiquement lors de mes prochaines visites".
Test de l'ISO d'Ubuntu francophone : nous avons besoin de testeurs pour la version francophone d'Ubuntu 14.04. Liens et informations ici.

#1 Le 02/04/2013, à 11:32

Franck67

plusieurs machines sur un même nom de domaine

Bonjour,

afin de ne pas surcharger mon serveur web qui hebergent plusieurs sites, je voudrais répartir ces sites sur plusieurs machines.

en gros :

www.mondomaine.com -> mon ip_publique qui heberge mon site principal

www.mondomaine.com/~toto -> renvoyé vers 192.168.0.10
www.mondomaine.com/~tata -> renvoyé vers 192.168.0.20
www.mondomaine.com/~titi -> renvoyé vers 192.168.0.30

Est ce que c'est possible ? et si oui, je veux bien un debut de solution :-)

Merci pour votre aide !

ps : j'ai pour le moment, seulement des apache2 qui tournent sur chaque machine

Hors ligne

#2 Le 02/04/2013, à 11:58

Akimania

Re : plusieurs machines sur un même nom de domaine

salut,

Voila une solution que j'utilise pour mes serveurs

# TOTO

<VirtualHost *:80>

	DocumentRoot "var/www/mondomaine.com"
  	ServerName mondomaine.com
	ServerAlias www.mondomaine.com
  	ServerAdmin root@localhost
	RewriteEngine on
    ProxyRequests Off
    ProxyPreserveHost On
	
  #   RewriteRule ^/(.*)$ http://192.168.0.10/$1 [P]
  #   RewriteRule ^/(.*)$ http://192.168.0.10/$1 [P]

  ProxyPass / http://192.168.0.10/
  ProxyPassReverse / http://192.168.0.10/
  
  <Proxy *>
    Order allow,deny
    Allow from all
  </Proxy>

    <Location /toto/>
        Order allow,deny
        Allow from all
    </Location>

</VirtualHost>

# TATA

<VirtualHost *:80>

	DocumentRoot "var/www/mondomaine.com"
  	ServerName mondomaine.com
	ServerAlias www.mondomaine.com
  	ServerAdmin root@localhost
	RewriteEngine on
    ProxyRequests Off
    ProxyPreserveHost On
	
  #   RewriteRule ^/(.*)$ http://192.168.0.20/$1 [P]
  #   RewriteRule ^/(.*)$ http://192.168.0.20/$1 [P]

  ProxyPass / http://192.168.0.20/
  ProxyPassReverse / http://192.168.0.20/
  
  <Proxy *>
    Order allow,deny
    Allow from all
  </Proxy>

    <Location /tata/>
        Order allow,deny
        Allow from all
    </Location>

</VirtualHost>

# TITI

<VirtualHost *:80>

	DocumentRoot "var/www/mondomaine.com"
  	ServerName mondomaine.com
	ServerAlias www.mondomaine.com
  	ServerAdmin root@localhost
	RewriteEngine on
    ProxyRequests Off
    ProxyPreserveHost On
	
  #   RewriteRule ^/(.*)$ http://192.168.0.30/$1 [P]
  #   RewriteRule ^/(.*)$ http://192.168.0.30/$1 [P]

  ProxyPass / http://192.168.0.30/
  ProxyPassReverse / http://192.168.0.30/
  
  <Proxy *>
    Order allow,deny
    Allow from all
  </Proxy>

    <Location /titi/>
        Order allow,deny
        Allow from all
    </Location>

</VirtualHost>

Hors ligne

#3 Le 02/04/2013, à 21:31

jplemoine

Re : plusieurs machines sur un même nom de domaine

sur le PC qui contient le site principal
dans /etc/apache2/site-available/default, mettre :

ProxyPreserveHost On
    ProxyRequests off
    ProxyPass /toto http://<ip de toto>
    ProxyPassReverse /toto http://<ip de toto>
    ProxyPass /titi http://<ip de titi>
    ProxyPassReverse /titi http://<ip de titi>

avant la balise </VirtualHost>

Cordialement,

Jean-Philippe

PS : voir la doc sur ProxyPass, il y a une manip à faire pour activer un truc sinon ça ne fonctionne pas.


Cordialement, Jean-Philippe.
Sous Ubuntu en système principal depuis 2009
Ubuntu 14.04 desktop (2 postes) & server (1 poste)

En ligne

#4 Le 03/04/2013, à 10:05

tiramiseb

Re : plusieurs machines sur un même nom de domaine

J'adhère à la proposition de jplemoine, même si moi j'ai plutôt l'habitude d'utiliser mod_rewrite...


Sébastien Maccagnoni-Munch - administrateur Linux depuis le XXème siècle
Consultant informatique indépendant - http://www.smm-informatique.fr
Geek et tout plein d'autres choses - http://www.tiramiseb.fr

Hors ligne

#5 Le 04/04/2013, à 11:49

z0ng0

Re : plusieurs machines sur un même nom de domaine

Bonjour à tous,

Etant exactement sur le même sujet, j'ai procédé aux modifications suggérées par jplemoine. Je suis dans un premier temps assez heureux de constater que, quand je tape mon adresse/toto, je ne tombe plus sur un "not found" smile

Par contre, c'est désormais "La connexion a échoué" qui apparaît. Je constate également que l'adresse est passée en https...

Au niveau du code, j'ai fait un pur copié/collé, en remplaçant par l'IP locale (j'ai également tenté la publique). Je suis bien évidemment dans /etc/apache2/sites-available/default, et avant la balise </VirtualHost> :

<VirtualHost *:80>
        ServerAdmin webmaster@localhost

        DocumentRoot /var/www
        <Directory />
                Options FollowSymLinks
                AllowOverride None
        </Directory>
        <Directory /var/www/>
                Options Indexes FollowSymLinks MultiViews
                AllowOverride None
                Order allow,deny
                allow from all
        </Directory>

        ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
        <Directory "/usr/lib/cgi-bin">
                AllowOverride None
                Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
                Order allow,deny
                Allow from all
        </Directory>

        ErrorLog ${APACHE_LOG_DIR}/error.log

        # Possible values include: debug, info, notice, warn, error, crit,
        # alert, emerg.
        LogLevel warn

        CustomLog ${APACHE_LOG_DIR}/access.log combined

    Alias /doc/ "/usr/share/doc/"
    <Directory "/usr/share/doc/">
        Options Indexes MultiViews FollowSymLinks
        AllowOverride None
        Order deny,allow
        Deny from all
        Allow from 127.0.0.0/255.0.0.0 ::1/128
    </Directory>

    ProxyPreserveHost On
    ProxyRequests off
    ProxyPass /toto http://192.168.10.4/
    ProxyPassReverse /toto http://192.168.10.4/

</VirtualHost>

A noter : au niveau des mods, j'ai lancé les commandes :

$sudo a2enmod proxy
$sudo a2enmod proxy_http

D'où 2 questions :
1) mon code est-il correct ?
2) sachant que les deux serveurs (publics) sont sur la DMZ (les deux en 192.168.10.XX) de notre Firewall, se pourrait-il que ce soit lui qui vienne m'embêter ?

Bonne journée à tous !

Hors ligne

#6 Le 04/04/2013, à 11:57

tiramiseb

Re : plusieurs machines sur un même nom de domaine

1) mon code est-il correct ?

Ta configuration me semble correcte...
Mais bon je ne suis pas super fort avec mod_proxy, pour ma part j'utilise plutôt mod_rewrite...

2) sachant que les deux serveurs (publics) sont sur la DMZ (les deux en 192.168.10.XX) de notre Firewall, se pourrait-il que ce soit lui qui vienne m'embêter ?

Non, car tes deux serveurs communiquent directement, sans passer par le firewall.



Ton serveur derrière "/toto" ne redirigerait-ils pas vers du https systématiquement, par hasard ?


Sébastien Maccagnoni-Munch - administrateur Linux depuis le XXème siècle
Consultant informatique indépendant - http://www.smm-informatique.fr
Geek et tout plein d'autres choses - http://www.tiramiseb.fr

Hors ligne

#7 Le 04/04/2013, à 12:13

z0ng0

Re : plusieurs machines sur un même nom de domaine

Merci pour ces réponses smile

Je vais voir avec les tuto pour mod_rewrite, voir si ça apporte du neuf...

Ton serveur derrière "/toto" ne redirigerait-ils pas vers du https systématiquement, par hasard ?

C'est ce à quoi je pensais au départ, du coup, j'ai testé mes manips avec un autre serveur (aussi sur DMZ, même masque...) d'un autre de mes sites web lambda, mais même résultat.

Hors ligne

#8 Le 04/04/2013, à 12:17

tiramiseb

Re : plusieurs machines sur un même nom de domaine

Avec mod_rewrite, en gros tu aurais besoin de quelque chose comme ça (non testé, pas sûr que ce soit parfaitement correct) :

RewriteEngine On
RewriteRule ^/toto/(.*)$ http://192.168.10.4/$1 [P]

Sébastien Maccagnoni-Munch - administrateur Linux depuis le XXème siècle
Consultant informatique indépendant - http://www.smm-informatique.fr
Geek et tout plein d'autres choses - http://www.tiramiseb.fr

Hors ligne

#9 Le 04/04/2013, à 13:39

jplemoine

Re : plusieurs machines sur un même nom de domaine

- 1 -
Il me vient une idée et en comparant mon exemple (tiré d'un serveur fonctionnel) et ce que tu as écrit, j'ai une question : peux-tu essayer le cas :
- http://IP_publique/toto
- http://IP_publique/toto/ (avec un slash à la fin)

Si ça fonctionne dans le 2ème cas mais pas dans le premier, c'est qu'il faut modifier la déclaration en enlevant le / en fin de ligne.
ce n'est pas

ProxyPass /toto http://192.168.10.4/
    ProxyPassReverse /toto http://192.168.10.4/

mais

ProxyPass /toto http://192.168.10.4             <-- sans / à la fin
    ProxyPassReverse /toto http://192.168.10.4  <-- sans / à la fin

Puis relancer Apache et ressayer les 2 syntaxes, elles devraient être fonctionnelles...

- 2 -
ma solution de fonctionne que si on est qu'en http sur toute la chaîne.
Je n'ai pas réussi si on appelle le serveur par https.
http://IP_publique/toto --> fonctionne
https://IP_publique/toto --> je n'a pas réussi à le faire fonctionner.

Je ne connais que très peu le mod_rewrite et je suis donc incapable de dire si cette restriction est valable ou non.

- 3 -
si la solution exposée au -1- ne fonctionne pas, il faudrait voir les logs apache des 2 serveurs (celui qui redirige et celui qui "sert" la requête) pour voir s'il n'y a pas une piste.

Cordialement,

Jean-Philippe


Cordialement, Jean-Philippe.
Sous Ubuntu en système principal depuis 2009
Ubuntu 14.04 desktop (2 postes) & server (1 poste)

En ligne

#10 Le 04/04/2013, à 15:42

z0ng0

Re : plusieurs machines sur un même nom de domaine

En effet, c'était le '/' qui semblait faire planter le tout !

Je ne peux toutefois pas le dire avec grande certitude, après pas mal de test, j'ai remarqué que Firefox me donnait des infos erronées (même après suppression de la config, FF continuait de me rerouter sur le même site... mais en https ! Problème de cache malgré mon alt + F5 pour actualiser ? Je ne saurais le dire...). C'est ironiquement IE qui m'a permis de bien tester.

Merci bien pour le coup de main, je ne sais pas ce qu'il en est pour l'auteur de ce topic, mais de mon côté, c'est au top !

Merci pour votre aide à tous les deux,

z0ng0

Hors ligne

#11 Le 04/04/2013, à 18:20

jplemoine

Re : plusieurs machines sur un même nom de domaine

Oui il ne faut jamais mettre le / à la fin ou il faut le mettre toujours. Y compris dans le navigateur.
Par contre, c'est possible qu'il y ait un cache quelque part.

Jean-Philippe.


Cordialement, Jean-Philippe.
Sous Ubuntu en système principal depuis 2009
Ubuntu 14.04 desktop (2 postes) & server (1 poste)

En ligne

#12 Le 11/04/2013, à 10:56

Franck67

Re : plusieurs machines sur un même nom de domaine

jplemoine a écrit :

Oui il ne faut jamais mettre le / à la fin ou il faut le mettre toujours. Y compris dans le navigateur.
Par contre, c'est possible qu'il y ait un cache quelque part.

Jean-Philippe.

Pour moi, ca ne marche toujours pas au poil, mais je continue mes recherches de mon coté wink

En gros mon souci, c'est aussi les /
J'aimerais rediriger les URLs avec un / à la fin, et celles sans.
Pour l'instant çà ne marche qu'avec.

  ProxyPass              /info/  http://192.168.2.247/~user/intra/
  ProxyPassReverse /info/  http://192.168.2.247/~user/intra/

  ProxyPass               /info  http://192.168.2.247/~user/intra/
  ProxyPassReverse  /info  http://192.168.2.247/~user/intra/

Lorsque je ne mets pas le de / dans mon url, j'arrive bien sur mon site, mais sans les images (ou la feuille de style on dirait meme)

Si quelqu'un a un indice....
question subsidiaire : maintenant dans mes logs, c'est le serveur principal qui apparait comment consultant 192.168.2.247. N'y-a-t-il pas moyen de garder la réelle IP source ?

Hors ligne

#13 Le 11/04/2013, à 11:00

tiramiseb

Re : plusieurs machines sur un même nom de domaine

Lorsque je ne mets pas le de / dans mon url, j'arrive bien sur mon site, mais sans les images (ou la feuille de style on dirait meme)
Si quelqu'un a un indice....

Probablement que tes pages web ont des adresses relatives, pour les images et les feuilles de style.

Tu vas sur "/info/", si la page retournée dit que le CSS est dans "truc.css" alors le navigateur va chercher dans "/info/truc.css".
Tu vas sur "/info", si la page retournée dit que le CSS est dans "truc.css" alors le navigateur va chercher dans "/truc.css".


maintenant dans mes logs, c'est le serveur principal qui apparait comment consultant 192.168.2.247. N'y-a-t-il pas moyen de garder la réelle IP source ?

Je crois que le reverse-proxy envoie l'adresse IP du client dans un en-tête spécifique, qui pourrait peut-être être ajouté dans les logs. Mais aucune certitude.


Sébastien Maccagnoni-Munch - administrateur Linux depuis le XXème siècle
Consultant informatique indépendant - http://www.smm-informatique.fr
Geek et tout plein d'autres choses - http://www.tiramiseb.fr

Hors ligne

#14 Le 11/04/2013, à 15:42

Franck67

Re : plusieurs machines sur un même nom de domaine

tiramiseb a écrit :

Probablement que tes pages web ont des adresses relatives, pour les images et les feuilles de style.

Tu vas sur "/info/", si la page retournée dit que le CSS est dans "truc.css" alors le navigateur va chercher dans "/info/truc.css".
Tu vas sur "/info", si la page retournée dit que le CSS est dans "truc.css" alors le navigateur va chercher dans "/truc.css".

Exactement ! Je dois éditer tous mes liens, ou il y'a un moyen de contourner çà ? car il y'en a un paquet à éditer, et je ne suis pas à l'abri d'un changement de machine, ou d'IP wink

Hors ligne

#15 Le 11/04/2013, à 15:44

tiramiseb

Re : plusieurs machines sur un même nom de domaine

je ne suis pas à l'abri d'un changement de machine, ou d'IP

C'est pour ça que les bons frameworks offrent des fonctions de génération dynamique de liens big_smile

Je dois éditer tous mes liens, ou il y'a un moyen de contourner çà ?

Je peux te proposer de supprimer ProxyPass et ProxyPassReverse sur "/info" et mettre ça à la place :

Redirect permanent /info /info/

Sébastien Maccagnoni-Munch - administrateur Linux depuis le XXème siècle
Consultant informatique indépendant - http://www.smm-informatique.fr
Geek et tout plein d'autres choses - http://www.tiramiseb.fr

Hors ligne

#16 Le 11/04/2013, à 16:13

Franck67

Re : plusieurs machines sur un même nom de domaine

Merci ca marche niquel !
Je n'ai plus qu'a resoudre mon souci de log, et tout marchera comme je veux smile

Hors ligne

Haut de page ↑