[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: [SQUID] Ip source réelle



Romaric DEFAUX a écrit :
Pascal Hambourg a écrit :
Salut,

rde@audaxis.com a écrit :

j'ai un serveur web apache sur une machine
j'ai un squid sur la même machine, utilisé en reverse proxy transparent pour faire du cache et accélérer + alléger mon serveur web

Voici donc en gros le chemin d'une requête venant d'internet :
INTERNET ---> SQUID ---> APACHE ---> SQUID ---> INTERNET
ou
INTERNET ---> SQUID ---> INTERNET (si la page est dans le cache)

Le problème est que du coup Apache voit toutes les requêtes provenant de l'IP locale (192.168.X.X), et non pas l'IP source de la requête !

Est-ce que quelqu'un saurait si c'est possible de faire en sorte qu'apache voit l'ip source réelle ?

Tu peux utiliser l'en-tête HTTP X-Forwarded-For qui est ajoutée par squid.

Premièrement merci de ta réponse rapide :)

C'est donc un paramètre à changer au niveau d'apache ? Tu saurais me mettre sur une piste ? Et pour éclairer un peu plus mon problème, c'est que je veux appliquer certaines règles de réécritures au niveau du vhost selon l'IP source.
Pour l'instant j'utilise un truc du genre :
RewriteCond %{REMOTE_HOST} !192.168.X.X
C'est peut-être là que je ne devrais pas utiliser REMOTE_HOST mais autre chose... Pareil au niveau des logs d'apache, j'utilise les customLog "combined", faut peut-être que je modifie ça...

Bon je cherche et si je trouve la solution je l'envoie sur la mailing. En attendant, si tu sais comment faire n'hésite pas à me le dire ;) !

D'avance merci !


J'ai trouvé !

Squid ajoute un en-tête de la forme X-Forwarded-For "127.0.0.1, W.X.Y.Z" où W.X.Y.Z est l'IP d'origine (c'est lié à ma conf de SQUID je suppose, en transparent avec une règle de nat dans iptable, d'où le 127.0.0.1). Si l'IP source est locale, (j'ai testé en faisant un lynx), l'en-tête X-Forwarded-For est vide.

Du coup j'ajoute la condition suivante avant mes règles :

RewriteCond %{HTTP:X-Forwarded-For} .*,.*

pour qu'elles ne s'appliquent que lorsque l'IP source réelle est externe.

Youpi !!!

Romaric


Reply to: