IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Apache Discussion :

Redirection de serveur en fonction de la demande.


Sujet :

Apache

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    119
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 119
    Par défaut Redirection de serveur en fonction de la demande.
    Bonjour a tous.

    N'étant pas un pro Linux et Apache, j'ai quand même regardé comment modifier le fichier httpd.conf et après pas mal de test j'avoue que je patauge toujours autant alors je me permets de venir demander un peu d'aide

    Je dispose d'un nom de domaine et d'une adresse Ip public et de deux serveurs avec Apache dessus.

    Ce que je veux faire me parait pourtant simple, mais bon...

    En temps normale quelqu'un qui tape mon url doit arriver sur la page d'index qui est sur le serveur@1 (ce qui est le cas en ce moment)

    Je voudrais que, lorsque quelqu'un désire aller sur la page "Stats" qui est sur le serveur@2 , l'utilisateur tape dans son browser @dresse.com/Stats et que apache redirige les flux d'entrés du serveur@1 vers le serveur@2.

    C'est quand même possible ?

    Dans l'attente d'une réponse je continue de chercher du coté de ProxyPass.

    Merci

  2. #2
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Par défaut
    Oui, avec mod_proxy : tu peux définir des chemins qui servent de base à la redirection : /Stats => serveur 2, le reste sur serveur 1.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    119
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 119
    Par défaut
    voila ce que j'ai mis :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <VirtualHost *>
    ServerName NomDeMonServeur
    DocumentRoot /www/html
    ProxyPass /Stat @dresse2
    ProxyPassReverse /Stat @dresse2
    </VirtualHost>
     
    <VirtualHost *>
    ServerName NomDeMonServeur
    DocumentRoot /www/html
    ProxyPass /Stat @dresse1
    ProxyPassReverse /Stat @dresse1
    </VirtualHost>
    Comment savoir si ma redirection fonctionne bien ? car je ne vois pas la page de stat voulus.

    @dresse1 et @dresse2 peuvent etre des ip privées ou pas ?

    Edit :
    Quand je vais dans les logs de mon serveur apache, il me dit que le fichier www/html/Stat n'existe pas. Il n'essaie donc pas de se connecter sur le @serveur2 ?

  4. #4
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Par défaut
    Je ne sais pas si ça vient de là, mais tu ne peux pas avoir 2 virtual hosts comme ça qui ont la même signature (i.e. le même couple ServerName + Port, à savoir NomDeMonServeur + directive principale Port). Si tu as 2 fois la même signature, Apache ne peut pas savoir quel VH doit être pris en compte. Il faut donc que tu simplifies :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    NameVirtualHost *
     
    <VirtualHost *>
    ServerName NomDeMonServeur
    DocumentRoot /www/html
     
    ProxyPass /Stat @dresse2
    ProxyPassReverse /Stat @dresse2
     
    ProxyPass / @dresse1
    ProxyPassReverse / @dresse1
    </VirtualHost>
    La conf de VH n'est pas obligatoire. Si tu la conserves, N'oublie pas NameVirtualHost, ça pourrait t'éviter des pbs. Du coup, essaie d'abord sans utliiser de VH.

    Mais à relire ta conf, je m'aperçois que je n'ai pas forcément bien compris ton besoin. J'ai compris que les URL http://tonsite.com/Stat devaient être redirigées vers adresse2 et toutes les autres sur adresse1. Est-ce bien cela ?

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    119
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 119
    Par défaut
    oui tu as bien compris.

    Toutes les requetes vont sur @dresse1 sauf monsite.com/stats qui va sur @dresse2

    Edit :

    Quand je simplifie comme tu me l'a conseillé j'ai ce message d'erreur quand je fais www.monsite.com/ :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Proxy Error
     
    The proxy server received an invalid response from an upstream server.
    The proxy server could not handle the request GET /.
     
    Reason: Max-Forwards has reached zero - proxy loop?
    mais maintenant j'accède bien à ma page /stats/

  6. #6
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Par défaut
    OK, ça doit être à cause du / qui est valable aussi pour /Stat ou un truc du genre. J'ai un peu de temps, je vais tester de mon côté et je te tiens au courant.

    EDIT : résultats des tests. Ben, "chez moi, ça marche" !! Je n'arrive pas à reproduire ton comportement. J'ai la conf suivante dans mon httpd.conf (Apache 1.3) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    NameVirtualHost *
     
    <VirtualHost *>
        ServerName localhost
        Port 80
     
        ProxyPass /Stat http://toto.localhost.com/Stat
        ProxyPassReverse /Stat http://toto.localhost.com/Stat
        ProxyPass / http://titi.localhost.com/
        ProxyPassReverse / http://titi.localhost.com/
    </VirtualHost>
     
    <VirtualHost *>
        ServerName titi.localhost.com
        Port 80
        DocumentRoot "C:/.../titi"
    </VirtualHost>
     
    <VirtualHost *>
        ServerName toto.localhost.com
        Port 80
        DocumentRoot "C:/.../toto"
    </VirtualHost>
    titi.localhost.com et toto.localhost.com sont définis dans mon etc/hosts et pointent sur 127.0.0.1.
    Donc :

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    119
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 119
    Par défaut
    Merci beaucoup pour ton aide Mac c'est bon ça fonctionne ce matin

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Classe serveur lancer fonction thread
    Par LeXo dans le forum Threads & Processus
    Réponses: 2
    Dernier message: 06/02/2008, 16h40
  2. HTTP REFERER ou Redirection par serveur apache
    Par serna dans le forum Langage
    Réponses: 4
    Dernier message: 24/06/2007, 23h18
  3. Serveur mail: fonction sendmail
    Par calfater dans le forum Réseau
    Réponses: 2
    Dernier message: 11/01/2007, 02h05
  4. [SQL-Serveur][Sybase]Fonctions d'agrégat imbriquées
    Par vincenteraptor dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 09/06/2006, 09h46
  5. Redirection Client->Serveur
    Par darksethys dans le forum ASP
    Réponses: 9
    Dernier message: 10/06/2004, 18h54

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo