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 :

url rewriting Apache tomcat javascript liferay


Sujet :

Apache

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Août 2008
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 2
    Points : 1
    Points
    1
    Par défaut url rewriting Apache tomcat javascript liferay
    Bonjour,
    Bien qu'ayant parcouru le forum et bien aidé dans mes redirection , j'ai un probleme pour l'écriture d'un rewrite et votre aide serait grandement appreciée.

    Ma config :
    Serveur apache configuré pour du reverse proxy entre une IP Publique ( Pas de DNS) et intranet

    mon mod_proxy.conf est celui-ci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    ProxyRequests Off
    SetOutputFilter proxy-html
    ProxyPass / http://intranet:8080/
    ProxyPassReverse / http://intranet:8080/
    ProxyHTMLURLMap http://intranet:8080/ /
     
    <Location />
      ProxyPassReverse /
    ProxyHTMLExtended On
      ProxyHTMLURLMap /               /
      ProxyHTMLURLMap /intranet:8080/       /
     RequestHeader unset Accept-Encoding
    </Location>
    Par contre je n'arrive a rien lorsque la cde suivante est envoyée, il ne me remplace as intranet:8080

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    javascript:%20submitForm(document.hrefFm,%20'http://intranet:8080/web/invite/dgs?p_p_id=49&p_p_action=1&p_p_state=normal&p_p_mode=view&_49_struts_action=%2Fmy_places%2Fview&_49_groupId=10501&_49_privateLayout=false');
    le serveur intranet est LIFERAY

    Merci de votre aide

  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
    Par défaut
    Citation Envoyé par alpha13fr Voir le message
    Par contre je n'arrive a rien lorsque la cde suivante est envoyée, il ne me remplace as intranet:8080
    C'est normal, mod_proxy ne sait pas réécrire le contenu HTML renvoyé au navigateur. Normalement, c'est à toi de faire en sorte que le contenu HTML renvoyé au navigateur soit le bon mais tu peux utiliser un autre module (si tu as la main sur le reverse proxy) qui fait également des corrections dans le code HTML : mod_proxy_html.

  3. #3
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Août 2008
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    Merci,
    J'ai regardé du coté des opérateurs et je patauge grave
    Sans vouloir abuser, vous auriez pas une petite piste pour remplacer "http://intranet:8080/" par "http://IP/" ?

    Merci

  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
    Oui : éditer le fichier HTML et remplacer "http://intranet:8080/" par "http://IP/" ou bien installer et utiliser mod_proxy_html. Pour la première solution, qui est de très loin la plus simple, le mieux c'est d'utiliser une URL relative (sans http://...) : ça évite d'avoir à se prendre la tête avec le nom ou l'IP du serveur. Si ce n'est pas possible, et si la page est générée dynamiquement (i.e. il s'agit d'une page PHP, JSP, etc.), soit tu construis l'URL absolue en récupérant le nom du serveur avec $_SERVER["HTTP_HOST"] en PHP par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    javascript:%20submitForm(document.hrefFm,%20'http://<?php echo $_SERVER["HTTP_HOST"]; ?>/web/invite/dgs?p_p_id=49&p_p_action=1&p_p_state=normal&p_p_mode=view&_49_struts_action=%2Fmy_places%2Fview&_49_groupId=10501&_49_privateLayout=false');
    A noter que dans ce cas, il faut configurer mod_proxy sur le premier serveur pour qu'il renvoie la bonne valeur, donc ajouter ceci dans la conf de mod_proxy :
    Soit tu configures une variable globale que tu appelles partout où tu en as besoin et qui vaut l'IP :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    $NOM_SERVEUR = "12.34.56.78";
    $PORT_SERVEUR = "8080";
    ...
    javascript:%20submitForm(document.hrefFm,%20'http://<?php echo $NOM_SERVEUR.":".$PORT_SERVEUR; ?>/web/invite/dgs?p_p_id=49&p_p_action=1&p_p_state=normal&p_p_mode=view&_49_struts_action=%2Fmy_places%2Fview&_49_groupId=10501&_49_privateLayout=false');
    Cette façon de faire permet de n'avoir à changer le nom du serveur qu'à un seul endroit si tu installes ton truc sur un autre environnement.

Discussions similaires

  1. [AJAX] URL Rewriting et navigation javascript
    Par MrMoche dans le forum AJAX
    Réponses: 1
    Dernier message: 26/10/2010, 09h37
  2. [Config] BOXI3 : Redirection url avec Apache / Tomcat
    Par bngbodev dans le forum Administration-Migration
    Réponses: 1
    Dernier message: 17/03/2009, 16h13
  3. url rewriting avec tomcat en standalone
    Par julien20vt dans le forum Tomcat et TomEE
    Réponses: 3
    Dernier message: 18/01/2008, 13h59
  4. [URL Rewriting] Apache sous debian
    Par winzou dans le forum Apache
    Réponses: 1
    Dernier message: 19/08/2007, 00h31
  5. Réponses: 2
    Dernier message: 18/04/2007, 18h18

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