Apache rewrite rule proxy inverse

Hello tous !

Je veux faire une blague gentillette a ma boite pour ce jour beni du 1er avril et je me galere pour mettre ca en place (faut dire que si j’y avais reflechi avant, ca aurait ete plus simple)
Je veux capter tous les acces a Google et juste changer le logo (j’vous l’avais dit que ca serait gentil).

Donc comme je maitrise le serveur DNS, j’ai pense rediriger le domaine www.google.fr (+alias en .com) vers un serveur maison sous apache2.2 sur une debian 5. Sur ce serveur je veux qu’il fasse office de proxy inverse pour google sauf pour le logo pour lequel il renverra une image maison.
Donc je veux pas perturber les acces a google, juste remplacer le logo.
Suis je clair ?

Donc je pense qu’avec des rewriterule ca peut le faire mais le probleme est que je suis pas assez a l’aise avec le module rewrite pour faire ce genre de bidouille. Et bien sur, on trouve pas de solution toute faite pour ce genre de “besoin”.
Donc y aurait il un gourou du mod_rewrite et des regexp pour m’aider ?

C’est absolument énorme ce que tu veux faire.
Tu n’es pas obligé de le faire que le 1er avril :). Tu peux le faire lors de l’anniversaire du chef, de la naissance de sa fille, … avec une image rigolote

Mais le problème, c’est que le reverse proxy se configure derrière des serveurs Web pour faire des filtrages, redirections de flux vers tel ou tel serveur.

Il faudait que le reverse proxy puisse recevoir les requétes de Google. Si le flux corresponds à un pattern du genre :
www.google.fr…
Cela corresponds à tous les logos de Google.
Je réécris l’url en préfixant avec le domaine de mon serveur : ip_de_mon_serveur…
Si on regarde le code source de la page d’accueil de Google,

<img src="/logos/andersen10-1-hp.gif" width="384" height="150" border="0" 
alt="205e anniversaire de la naissance de Hans Christian Andersen" 
title="205e anniversaire de la naissance de Hans Christian Andersen" id="logo" 
onload="window.lol&&lol()">

L’image est référence dans le code source uniquement via le nom du répertoire. Il n’y a pas dans l’attribut le préfixe www.google.fr.
Le navigateur se fait donc duper.

L’acheminement serait donc :
navigateur => serveur Google => RP perso => récriture de tout ce qui est google.fr/logo/*gif => navigateur

Sinon, il y a solution cradingue je trouve.
Ton DNS fait pointer google.fr vers ton serveur Web. Sur celui -ci tu fais un formulaire tout bète en copiant le code source de la page de Google et tu submit vers la page de Google en GET
Edité le 02/04/2010 à 20:32

C’est ca que je veux faire grosso modo… mais je peux pas mettre mon serveur filtre sur la liaison internet. Par contre je peux rediriger les requetes google vers lui . Donc avec un apache et qq regles de rewrite, ca devrait etre jouable
Tout le probleme est : quelles regles de rewrite je dois mettre ? Et comme les combiner avec les regles de reverse proxy ?

De toute facon, c’est trop tard maintenant :ane:
J’ai 1 an pour trouver une solution maintenant !

Ouais j’ai pensé a ca mais c’est trop sale. Et je pense que ca serait perturbant pour le fonctionnement de google (?)
P’tete pas en fait, je sais pas…
En tout cas, y’a beaucoup de JS sur la home et je suis pas sur que j’aurais reussi a tout mettre d’equerre…

Pour la 2ème solution, tu n’es pas obliger de mettre tous le JS et meme tu n’es pas du tout obligé d’en mettre. Le principal pour toi est de mettre les liens (Vidéo, Gmail, …) en haut . Tu n’es pas obligé de mettre le lien “Plus” qui affiche un sous menu. Tes utilisateurs n’y verront que du feu.
Je me disais que cela poserais problème mais non. On peux parfaitement faire une recherche Google en passant les bons parametres dans l’url comme ils faut. C’est comme ca que tu mettre le résultat d’une recherche sur les forums en posant le lien.

J’ai regarde le code super vite et je crois me souvenir que meme le bouton de recherche etait controlé par un js…
A partir de la, j’ai pas trop fouille plus.
Et puis j’etais essentiellement parti sur mon idee de faire du rewrite avec un proxy donc j’ai juste ecarte cette solution au feeling.
Peut etre que ca aurait ete plus facile ? je sais pas…

Je reparlerai de la première solution dans un second temps pour ne pas disperser.

Quand tu fais une recherche sur Google avec le mot clef yopman, Google te redirige vers cette URL
www.google.fr…

Tu t’appercois que cette URL est bien fixe. Elle ne change. Il y a juste la valeur de la variable “q” passé en parametre qui change
www.google.fr…
Bref, je pense qu’il y a moyen de faire très très très simplement avec un formulaire qui submit en GET
vers l’URL : www.google.fr… (tu retires juste la variable “q”).

Ou sinon tu mets tes variables fixes dans des input hidden dans ton formulaires.