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 :

Apache + IIS : comment masquer le port dans l'URL pour les deux ?


Sujet :

Apache

  1. #1
    Futur Membre du Club
    Inscrit en
    Mai 2008
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 8
    Points : 5
    Points
    5
    Par défaut Apache + IIS : comment masquer le port dans l'URL pour les deux ?
    Bonjour,
    j'ai un petit souci, Étant donné qu'une application est lancé sur le port 80 sous IIS , ( http:www.nomdomaine.com )

    je veux masquer le port qui s'affiche sur l'adresse URL c'est à dire au lieu de :
    http:www.nomdomaine.com:8080/toto.php avoir directement;
    http:www.nomdomaine.com/toto.php

    Est-il possible de faire ca avec Rewrite Rule?
    qu'est ce que je dois ajouter dans le fichier.conf d'apache?

    Merci d'avance de votre réponse,
    Cordialement,

    GeomatikMan

  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
    Points : 12 977
    Points
    12 977

    Du détail, du détail, du détail !!!
    Revenons à la source : lisons la documentation et les fichiers de trace, la réponse à notre problème s'y trouve sans doute

  3. #3
    Futur Membre du Club
    Inscrit en
    Mai 2008
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 8
    Points : 5
    Points
    5
    Par défaut
    Bonjour,

    Tu nous a rien dit même s'il est déjà débattu X fois.
    Désolé mais Réponse inconsidérable (si tu nous laisse perdu dans les pages d'un moteur de recherche.Ça je crois tout le monde peut le faire)

    Merci de répondre avec quelques choses de bien ou tu répond pas carrément ca sera plutôt mieux.
    Merci de ta compréhension et bonne courage Mr.Le MAC
    @++

  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
    Points : 12 977
    Points
    12 977
    Par défaut
    Le moteur de recherche, c'est un peu par là que doit doit commencer toute résolution d'un problème. Après, je veux bien détailler un peu plus mais le principe de base est toujours celui-là :
    Il faut configurer IIS pour qu'il écoute sur un autre port que le port 80, configurer Apache pour qu'il écoute sur le port 80 et qu'il fasse du reverse proxy sur IIS (par hôte virtuel ou par chemin).
    Pour la suite, il y a cette discussion (premier lien de cette recherche sur Google).

    Du détail, du détail, du détail !!!
    Revenons à la source : lisons la documentation et les fichiers de trace, la réponse à notre problème s'y trouve sans doute

  5. #5
    Futur Membre du Club
    Inscrit en
    Mai 2008
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 8
    Points : 5
    Points
    5
    Par défaut
    Merci pour ta réponse,

    je vais essayer de faire ca et je te tiens au courant dans la semaine

    @++

  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
    Points : 12 977
    Points
    12 977
    Par défaut
    Je vais donner un complément d'information. La solution que je propose suppose que les 2 sites (gérés par Apache et IIS) sont tous les deux accessibles à partir de la racine : http://serveur/ pour IIS et http://serveur:8080/ pour Apache. Du coup, pour pouvoir utiliser les deux sites en parallèle, on n'a pas d'autre choix que de passer par des hôtes virtuels : appIIS.domaine.fr:80 et appApache.domaine.fr:80.

    Ceci dit, on a une autre solution mais qui n'est valable que si un des deux sites est accessible à partir d'un "sous-répertoire" qu'on ne retrouve pas dans l'autre site. Par exemple, si le site Apache est accessible via http://serveur:8080/site/ et que l'URL http://serveur/site/ n'existe pas dans IIS, on peut imaginer une configuration plus simple avec un seul virtual host. Dans ce cas, on aurait une configuration de la sorte dans httpd.conf (dans ou en dehors d'un VH, peu importe) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    # Site Apache
    ProxyPass /site/ http://serveur:8080/site/
    ProxyPassReverse /site/ http://serveur:8080/site/
     
    # Site IIS
    ProxyPass / http://serveur:81/
    ProxyPassReverse / http://serveur:81/
    Faut mettre les choses dans cet ordre mais même dans cet ordre, je ne suis pas sûr que ça fonctionne car le second ProxyPass / vaut aussi pour le premier Si ça ne marche effectivement pas, il faut passer par mod_rewrite pour pouvoir jouer sur les conditions :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    RewriteEngine on
    RewriteRule ^/site/(.*) http://serveur:8080/site/$1 [P,L]
     
    RewriteCond %{REQUEST_URI} !^/site/
    RewriteRule (.*) http://serveur:81$1 [P,L]

    Du détail, du détail, du détail !!!
    Revenons à la source : lisons la documentation et les fichiers de trace, la réponse à notre problème s'y trouve sans doute

  7. #7
    Futur Membre du Club
    Inscrit en
    Mai 2008
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 8
    Points : 5
    Points
    5
    Par défaut
    Bonjour,

    Rien ne marche pour moi jusqu'à présent, Voila ce qu'on a ajouté :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    <VirtualHost *:80>
    ServerName www.serveur.com
    ServerAlias www.serveur.com
    Alias /htdocs/ "C:/OSGeo4W/apache/htdocs/"
    ErrorLog logs/www.serveur-error_log
    CustomLog logs/www.serveur.com-access_log common
    ProxyRequests Off 
    <Proxy *>
    Order deny,allow
    Allow from all
    </Proxy> 
    ProxyPass / http://serveur:8080/
    ProxyPassReverse / http://serveur:8080/
    </VirtualHost>
    A noter si on ajoute le mot clé : rewriterule comme vous avez défini , Apache ne veut plus redémarrer.

    Y-à t-il autre soultion??

    Cordialement,

  8. #8
    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
    Points : 12 977
    Points
    12 977
    Par défaut
    Il faut encore quelques infos pour comprendre ce qu'il se passe. Quel est le comportement observé ? Quelles URL sont utilisées pour tester ? Qu'est-ce qui est censé se passer ? 8080, c'est le port d'IIS ?

    Du détail, du détail, du détail !!!
    Revenons à la source : lisons la documentation et les fichiers de trace, la réponse à notre problème s'y trouve sans doute

  9. #9
    Futur Membre du Club
    Inscrit en
    Mai 2008
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 8
    Points : 5
    Points
    5
    Par défaut
    Bonjour,
    je crois que j'étais pas du tout explicite.Oublie tout ce qui s'est précédé:
    Donc reprenons,

    1- Une application est lancé sous IIS avec le port 80 (http://serveur)
    2- Application2 est lancé sous Apache sur le port 8080 (http://serveur:8080/fichier.php) .

    Alors, l'objectif visé est de cacher le port 8080 de l'application sous apache dans l'URL. Résultat voulu (http://serveur/fichier.php)

    Tout maintenant est clair,
    je veux pas que je fais un sous dossier sur l'application hébergé sous Apache parce que ca doit beaucoup changer au niveau de code.

    Ex : serveur : www.l3oufir.com
    Merci de votre compréhension

  10. #10
    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
    Points : 12 977
    Points
    12 977
    Par défaut
    Je n'ai de plus à dire que ce que j'ai déjà dit. Vu que tu n'as pas de répertoire différenciant, il va te falloir utiliser deux noms (sous-domaines) différents pour différencier le site IIS du site Apache :
    • Configurer IIS pour écouter sur le port 81
    • Configurer Apache pour écouter sur le port 80
    • Configurer les DNS pour que les 2 noms pointent sur l'IP actuelle du site IIS
    • Configurer deux virtual hosts dans Apache, un pour l'appli servie par Apache et l'autre qui renvoie sur IIS :
      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
            NameVirtualHost *:80
       
            # VH pour Apache
            <VirtualHost *:80>
                ServerName appApache.domaine.fr:80
                # Tu reprends ici la conf actuelle d'Apache pour le document root, les logs, etc.
                DocumentRoot /...
                ...
            </VirtualHost>
       
            # VH pour IIS
            <VirtualHost *:80>
                ServerName appIIS.domaine.fr:80
                ProxyPass / http://machine.domaine.fr:81/
                ProxyPassReverse / http://machine.domaine.fr:81/
            </VirtualHost>

    Du détail, du détail, du détail !!!
    Revenons à la source : lisons la documentation et les fichiers de trace, la réponse à notre problème s'y trouve sans doute

  11. #11
    Futur Membre du Club
    Inscrit en
    Mai 2008
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 8
    Points : 5
    Points
    5
    Par défaut
    Bonjour Mac,

    je te remercie fort.Les applications marchent très bien suite à tes recommandations.On a galéré un peu pour changer le port 80 de IIS à 81 car il y a plusieurs sous applications qui dépendent du port 80 (test, mail, mysql,..)

    Plus que ca, on a même ajouté une troisième application qui tourne avec TOMCAT.

    On a bien compris le cours,

    Cordialement,

    Salim,

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 30/11/2009, 22h50
  2. comment masquer un mot dans un texte de type JTextArea
    Par harakat21 dans le forum AWT/Swing
    Réponses: 1
    Dernier message: 21/05/2006, 00h18
  3. comment masquer un mot dans un JTextArea
    Par harakat21 dans le forum AWT/Swing
    Réponses: 1
    Dernier message: 20/05/2006, 21h40
  4. Comment masquer la saisie dans un Memo???
    Par Jayceblaster dans le forum Delphi .NET
    Réponses: 1
    Dernier message: 04/04/2006, 16h19
  5. Réponses: 1
    Dernier message: 05/11/2004, 17h15

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