Redirection Serveur à Serveur

Nouveau WRInaute
Bonjour a tous

Intro :

Redirection sur un autre serveur! Avec la methode du [URL rewriting] :
La redirection est bonne, mais le nom de mon nouveau serveur s'affiche comme url !

Question :

Comment faire avec l'[URL rewriting] la redirection sur un autre serveur sans que le nom du nouveau serveur s'affiche comme url ?

Redirection de www.aa.com ver www.bb.com, l'URL changera et affichera www.bb.com
Code:
RewriteRule ^(.+) http://www.as.com/$1 [R,L]
Redirection de www.aa.com ver www.bb.com, l'URL affichera et restera www.aa.com
Code:
RewriteRule xxxxxx   xxxxxxxxxxx xxxx

Information secondaire :
Le serveur de www.bb.com n'a pas une adresse ip unique sinon, j'aurais pu faire la redirection depuis un dns, sans passer par un serveur http de redirection www.aa.com.

Amicalement Frenetic
 
WRInaute occasionnel
Salut Frenetic,

Ta question resemble à celle de ce vieux, vieux sujet : Rediriger vers un autre domaine
Nota: les URL d'exemples sur defis-fantastiques.net n'exitent plus ...

Le serveur aa.com ne peut pas connaitre les infos de bb.com. La requête doit donc forcement être adréssée à bb.com. Soit aa.com sert de relais avec le script que je donnais en exemple sur le vieux sujet ou un autre similaire, soit tu masque tout ça dans une frame.
Aucune de ces 2 solutions ne sont "propres".

L'idée du DNS me semble, elle, très bien !
Le fait qu'il n'y ait pas d'@ IP unique n'est pas important. Utilise un enregistrement CNAME au lieu d'un A et le tour est joué. Il ne faut pas oublier de déclaré aa.com comme host sur le serveur de bb.com.

Par contre je ne comprend pas quelle serait l'utilité de faire ça ? Peux tu m'éclairer sur ce point ?

Mirgolth
 
Nouveau WRInaute
Frenetic: Merci Mirgolth. Voila, j ai deux serveur d'hebergement, un "aa" et un "bb", le "bb" a les comptes FTP activé et me permet d 'en crée plusieurs, le "aa" a une adresse IP unique, lui n'a pas la possiblité de crée des comptes FTP.

En bref, plus simplement :

bb contiendras des arbres de dossiers (10-20 arbres)
aa est mon serveur de redirection sur les arbres de bb
aa est pointé par un DNS configurable

Exemple configuration dns:
zone: aaaa.com*

IP A !

IN A 212.212.34.34 ---> http://aaaa.com
www IN A 212.212.34.34 ---> http://www.aaaa.com
Mail IN A 212.212.34.34 ---> http://mail.aaaa.com

Adresse CNAME !

Webmail IN CNAME prononet.com* ----> http://webmail.aaaa.com = http://aaaa.com

Mirgolth: Utilise un enregistrement CNAME au lieu d'un A et le tour est joué !

Frenetic: Mais le CNAME est un alias d'un A déclaré dans le meme fichier de configuration, il me semble !

CNAME ----> A ----> IP ( la j ai pas l' IP Unique vu que CNAME point sur A qui point sur l'IP ! marche pas ! )

Si je me trompe, je peux donc cree un CNAME sur une adresse externe a 100% au fichier de configuration. Si oui alors j'abouti et plus besoin de aa pour la redirection car le DNS ce chargera de celle ci.

Remerciement à Mirgolth, je vais regarder maintenant si ça pourrait passer avec le CNAME dans le DNS, mais la je dois attendre 12 - 24 H pour la mise ajour des configurations DNS.

A plus tard

PS
Mirgolth: Il ne faut pas oublier de déclaré aa.com comme host sur le serveur de bb.com
Frenetic: Tu peux m'en dire plus !
 
Nouveau WRInaute
Frenetic: Mirgolth tu aurais pas entendu parler du module "ProxyPass" , "ReverseProxy" de apache, Il se pourrait qu'il regle le probleme aussi directement dans [URL rewriting] !
 
WRInaute occasionnel
Frenetic a dit:
bb contiendras des arbres de dossiers (10-20 arbres)
aa est mon serveur de redirection sur les arbres de bb
aa est pointé par un DNS configurable
Ok,
Frenetic a dit:
Si je me trompe, je peux donc cree un CNAME sur une adresse externe a 100% au fichier de configuration.
C'est ce sur quoi j'ai des doutes... Je ne suis pas assez calé sur le DNS pour en être sûr. D'ailleur si vous avez des bonnes adresse de manuels sur les détails du DNS...
Frenetic a dit:
Si oui alors j'abouti et plus besoin de aa pour la redirection car le DNS ce chargera de celle ci.
En effet c'est le but, et ça simplifirais beaucoup ton problème.
Frenetic a dit:
Mirgolth: Il ne faut pas oublier de déclaré aa.com comme host sur le serveur de bb.com
Frenetic: Tu peux m'en dire plus !
Si le CNAME fonctionne les naviguateurs feront des requêtes à bb.com comme il les feraient à aa.com, c'est à dire en faisant une requête HTTP comme celle ci :
Code:
GET /monfichier.html
Host: [color=red]www.aa.com[/color]
Si bb.com ne sais pas qu'il "gère" effectivement aa.com en plus de bb.com il ne repondra pas à la requête. Il faut donc spécifier à Apache les domaines qu'ils gère.

Je ne connaissais pas 'ProxyPass' et 'ProxyPassReverse' (J'ai pas trouvé ReverseProxy ? ) mais cela me semble vraiment puissant ! C'est une voie à regarder de très près. Cela m'a aussi rappeller le Flag P de l'URL Rewriting :
Code:
RewriteRule   ^/path/(.+) http://host:port/$1 [P]
RewriteRule   ^/path  http://host:port/ [P]
à le même effet que
Code:
ProxyPass        /path http://host:port

Je sais qu'il y a sur le forum des 'expert' apaches qui devraient pouvoir t'aider mieux que moi, car j'avoue atteindre mes limites. En tout cas merci pour ta question qui m'a été très instructive !

Mirgolth
 
Nouveau WRInaute
Frenetic: J ai des problèmes avec la commande ProxyPass dans le fichier.htaccess, il me resoud une [Internal Server Error], mon module proxy n'est pas activé ? Mon hebergeur se protége ?

Frenetic: La commande "ProxyRequests on" nous permet d'activer le module Proxy de Apache (de docs la commande proxypass semble passer outre le faite que le module Proxy soit désactivé). J ai essayé de l'activer depuis le .htaccess ( activation identique au RewriteEngine on "RewriteRule" ) mais toujours mon [Internal Server Error].

Frenetic: Mirgolht, il me semble que tes commandes proxy passe ! Ou sont placées tes commandes Proxypass et les commandes d'activation du module proxy (command:"ProxyRequests on")? Dans un .htaccess ou dans le httpd.conf ou lors de la compilation de Apache ?
Help me ?
 
WRInaute occasionnel
Frenetic a dit:
Mirgolht, il me semble que tes commandes proxy passe ! ou sont placées tes commandes Proxypass et les commandes d'activation du module proxy (command:"ProxyRequests on")? dans un .htaccess ou dans le httpd.conf ou lors de la compilation de Apache ?
Je n'utilise pas le module proxy...

Néanmoins, Si je lis la doc pour ProxyPass:
Context: server config, virtual host
Donc il est normal que cela ne fonctionne pas dans le .htaccess
Regarde Termes utilisés pour décrire les directives Apache pour voir où ProxyPass peut être utilisé.

Mirgolth
 
Nouveau WRInaute
Merci Mirgolth

Aboutissement de la solution de redirection via php ( solution invisible, 70 % d'intégrité) *

[DNS]--->[Serveur A][.htacces][URLrewriting][php-redirection]----->[Serveur B]

[DNS] envoie une requête au [Serveur A]
[Serveur A] exécute le [.htacces] qui lui exécute [URLrewriting]
[URLrewriting] redirectionne de tous les appels URL sur [php-redirection]
[php-redirection] lit et affiche les fichiers pointer par les REQUEST_URI et situé sur le [Serveur B]

les problèmes de compatibilités et d'intégrité rendent cette solution immature!
Fonctionne dans 80% des cas, reste des problèmes de compatibilité! ...

les autres possibilités en cours sont le module proxy de apache et ces redirections invisibles. Le bème dans l'histoire est que les serveurs Apache A et B ne sont point à moi, ma seule possibilité de configuration est par les .htaccess, ftp, ... Par le .htaccess seulement, il semble impossible d'agir sur les modes proxy et ainsi de pouvoir utiliser les redirections invisibles ... si je pouvais avoir accès aux fichiers de configurations de appache, le problème serait certainement résolut. Mais GOootchAaass.. Seulement depuis FTP et .htaccess impossible !non? Help me .. *************

Bref une autre possibilité me vient à l'esprit, un système de cache de fichiers situé sur le serveur A. Le Serveur A reçoit les URLs, copie les fichiers situés sur le serveur B et pointés par les REQUEST_URI ( donc crée un double sur le serveur A des arbres du serveur B, en temps directs par rapport aux appels URLs ) . Le faite de copier et de lire ces mêmes copies en temps directs, seront le problème majeur ! Mais cette possibilité pourrait marcher et me permettre ainsi de faire des liaisons DNS to [Arbre Serveur B]! Donc je reste encore bien enthousiaste.

Je pense qui si je dois aboutir sans le module proxy , se sera une solution Hybride au système déclaré si-dessus. Mais pour l'heure, je cherche toujours,... donc les aides sont les bien venues

La solution du CNAME en liaison externe dans le fichier de configuration du serveur DNS pointant sur le serveur A est toujours en phase de test (la durée période de tests varie entre 12H - 24H avant mise à jour ). Les premiers essais sont donc assez négatifs. Mirgolht, pour notre déclaration des hosts sur le serveur B, je pourrais les déclarer depuis mon fichier.htaccess du serveur B en mettant le script suivant :

allow from www.toto.com
ou
allow from All

non ?

@ +
 
Nouveau WRInaute
Fin de la période des testes sur les configurations DNS avec un CNAME externe :

Pour moi, la valeure du CNAME doit etre interne au fichier de configuration. C'est a dire que sa valeur doit etre au préalable déclarée dans le meme fichier de configuration. Cette valeur CNAME ce reporte donc a un identifiant A qui est en faite une adresse IP pure et unique. Donc je ne peux pas faire cette redirection directement par mon DNS vu que mon server de destination B n'as pas une adresse ip pure ( elle n'est pas unique ).

Mais pour l'heure, j'attend toujour la confirmation de Mirgolth pour la déclarartion des Hosts sur le serveur de destination B dans son htacces racine.

Code:
allow from All

Pour moi le script est juste, donc mes testes DNS restent bien intégres. Cette redirection via dns est donc impossible. Il me faudrait une confirmation pour la declaration des host sur le serveur de destination B pour confirmer l' intégrité de ses testes ( Mirgolth ? )
Pour moi il est donc impossible de le faire cette redirection par le DNS grace au CNAME ou autres ...
 
WRInaute occasionnel
Salut,

Là je part en week end pour le 14 juillet, comme on a abordé plein de choses à la fois, je préfère attendre Mardi pour faire un bon résumé de ce qui a été dit et essayer de répondre à tes questions, plutôt que de faire ça à la va vite maintenant.

A+,

Mirgolth
 
Nouveau WRInaute
La redirection via php atteint maintenant 95% d'intégrité ( solution invisible, 95% d'intégrité)Reference

[DNS]--->[Serveur A][.htacces][URLrewriting][php-redirection-invisible]----->[Serveur B]

Sitation: deux possibilités primaires pour une redirection php invisible.

Solution 1# la redirection HTML par Frame ou IFrame, générée par notre php

Solution 2# Un systeme virtuel de stockages de fichiers ( cache de fichier ), générée par notre php

<?php echo readfile (http://www.xxx.com/index.html); ?> //exemple stockage et affichage d'un fichier solution 2#

Dans les deux solution 1# et 2#, l'intégrité de notre redirection invisible et mise en périle !
- 1# empeche d'enregistrer la page
- 1# doit concevoir un site avec des appel URI
- 2# Si notre page mis en stockage fait un rappel a un fichier exterieur utilisant une connection autre que la connection courante au fichier mis en stockage ! Typicement: si on met en cache une page qui intégre une animation flash ou autre ! bon pour l'heure, je regarde aussi pour pouvoir corriger ceci ....

GOodShass, je peux maintenant corriger le probleme qui empeche l'enregistrement de la page par l'utilisateur: solution 1#:
Made by Frenetic , ça devient interessement.... hi!

Donc ma solution 1# (Final) devient integre a presque 100%, ma seul contrainte est :
Concevoir un site avec des appel URI et pas des appel URL

Exemple: ([url=http://www.xxx.com/page/intro.html]http://www.xxx.com/page/intro.html)---devient-->(page/intro.html) [URI]

Une petit note: de concevoir un site en uri et non en url est mieu sur un point de vue global

Exemple: notre site sera entierement compatible et donc il pourra etre positionné sur n'importe quel serveur et adresse et domaine sans pour autant que ceci affecte sont fonctionnment correct.

GOodShass...

PS ma solution #1 (Final) est un pseudo-produit de : solution 1# + solution 2# + FreneticLogic
 
Nouveau WRInaute
Apres avoir pu corrigé et résolu le probleme d'une redirection invisible avec frame en corrigeant le probleme lié à l'enregistrement de la page par les utilisateurs ( Typique solution #1 Final ), j ai pensé a une autre solution ( solution #2 Suite). Une solution de conception nouvelle se basant sur une régle primaire "l'intégrité de pages par rapport aux serveurs".( Régle primaire ce rapportant à ma solution #1Final, complementée par les régle de légalité d'execution de script PHP pour certaine fonction HTML "Typiquement <FRAME...>" ):

Ma solution est simple, pour éviter tout problème lié aux Régle des appartenances de fichiers ! Pourquoi ne pas effectuer une sorte d'émulation d'ouverture est d'affichage d'un fichier propre au serveur B par le serveur B lui meme et de renvoyer ces donnée-page au serveur A pour execution.

Exemple de notre redirection "solution #2" sur le serveur B en gardamt l' URL de A et en essayant de corriger le probleme d'ouverture d'animations flash et autre ,. ..

[DNS]---->[Serveur A][.htacces][URLrewriting]----->[Serveur B][PHP Lecture page]----->{data}
{data}--->[Serveur A][.htacces][URLrewriting][PHP Affichage]

ATTENTION CETTE TECHNIQUE EST A TESTER ! ELLE EST JUSTE DE CONCEPTION !

La chose clé qui nous dira si on peut aboutir est dans la gestion de l'ouverture de la page par le serveur B, à savoir si il peut retourner script differant si son ouverture est sur un fichier propre à lui et de savoir si cette meme differance de script peut donc agir sur l'ouverture et l'affichage d'une animation flash par exemple ( Probleme lié à l'ouverture d' animation flash , etc , . . Typiquement probleme solution #2). Tres sincerement, ce developpement m'a ouvert l'esprit , je pense d'ors qu'une multide de possiblités se proposent pour cette redirection invisible avec une intégrité total (Attention, sans le mode proxy de apache ). Il faut chercher, mais de source sûr, tout est possible ! Enfin, peux etre... non...

Je pense ne pas effectué les tests de suite. Voir meme dans un certain temps. Juste histoire de partage et d'ouverture d'esprit, les propositions sont donc les bien venues.

@ plus
 
Discussions similaires
Haut