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

Re: Forcer une appli web à utiliser un proxy http sans la modifier



On Thu, 22 Mar 2012 17:03:16 +0100, Olivier <oza_4h07@yahoo.fr> wrote:
> Le 22/03/12, admini<admini@freeatome.com> a écrit :
>> On Thu, 22 Mar 2012 15:31:51 +0100, Olivier <oza_4h07@yahoo.fr> wrote:
>>> Le 22/03/12, admini<admini@freeatome.com> a écrit :
>>>> On Thu, 22 Mar 2012 12:32:21 +0100, Olivier <oza_4h07@yahoo.fr> wrote:
>>>>> Le 21/03/12, Tanguy Ortolo<tanguy+debian@ortolo.eu> a écrit :
>>>>>> Olivier, 2012-03-20 17:19+0100:
>>>>>>> J'ai ajouté 2 lignes http_proxy= et export htp_proxy dans
>>>>>>> /etc/profile.
>>>>>>> J'ai pu vérifier qu'avec ça, pour des utilisateurs avec login, curl
>>>>>>> fonctionne.
>>>>>>> Par contre; ça ne semble pas résoudre mon problème.
>>>>>>
>>>>>> /etc/profile est sourcé par les shells interactifs il me semble, or je
>>>>>> ne pense pas que ton interpréteur PHP en utilise un. Si tu utilises
>>>>>> Apache HTTP Server avec le mod_php5, c'est dans /etc/apache2/envvars
>>>>>> qu'il faudrait définir cela.
>>>>> J'ai ajouté à la fin de /etc/apache2/envvars les lignes :
>>>>> export ftp_proxy=http://192.168.111.31:8080
>>>>> export FTP_PROXY=http://192.168.111.31:8080
>>>>> export http_proxy=http://192.168.111.31:8080
>>>>> export HTTP_PROXY=http://192.168.111.31:8080
>>>> cela depend de ton code php. s'il se sert de l'environnement(c'est peut
>>>> etre dangereux, j'aime pas trop lier l'env au code de cette manière).
>>>>
>>>> $dl = curl_init();
>>>> curl_setopt($dl, CURLOPT_URL,
>>>> 'ftp://ftp.freebsd.org/pub/FreeBSD/releases/ISO-IMAGES/9.0/FreeBSD-9.0-RELEASE-amd64-disc1.iso');
>>>> curl_setopt($dl, CURLOPT_PROXY, 'localhost:3128');
>>>> curl_setopt($dl, /* si tu veux d'autre convergences financieres */);
> 
> Je n'ai pas encore réussi à identifier dans le code, la ligne qui
> déclenche le télé-charghement.
> Je m'y remets ...
> 
> 
> 
>>>>
>>>> et, tu n'as pas les logs sur le proxy pour voir ce qui se passe?pas
>>>> d'access list sur le proxy qui filtre? et tcpdump raconte quoi?
>>>
>>> Avec tcpdump, sur une machine sans proxy, je vois une série de
>>> requêtes du type GET /provisioner/v2.5/master.xml adressées à
>>> l'adresse mirror.freepbx.org (alias 199.102.239.158) précédées
>>> d'échanges TCP/SYN et ACK.
>>> Ces derniers échanges SYN et ACK suivent immédiatement les requêtes
>>> vers le DNS.
>>>
>>> Avec tcpdump, sur la machine avec proxy, je ne vois aucune requête
>>> HTTP. Par contre, je vois que ma machine émet (et ré-émet) un paquet
>>> SYN directement à l'adresse cible (199.102.239.158) sans l'adresser à
>>> l'adresse du proxy et ne reçoit aucune réponse.
>>>
>>> J'ai l'impression que si je savais transformer toutes les "requêtes
>>> HTTP directes" du type wget
>>> http://mirror.freepbx.org/provisioner/foo/bar (et uniquement
>>> celles-là) en requêtes indirectes via le proxy, tout devrait marcher
>>> mais je ne sais si ce dont je parle existe et a du sens ...
>>>
>> ben, ouai. donc le code ne connait pas le proxy. as tu essayé le code
>> php que j'ai sousmis plus haut?
>>>
>>>>>
>>>>> J'ai re-démarré la machine (carrément).
>>>>>
>>>>> Mais l'appli web persiste à ne pas télé-charger correctement ses
>>>>> données.
>>>>> Je n'ai aucune trace ni éléments dans les logs et ne peut même pas
>>>>> vérifier la commande utilisée par l'appli.
>>>>>
>>>>> Merci beaucoup pour le tuyau.
>>>>>
>>>>>>
>>>>>> --
>>>>>>  ,--.
>>>>>> : /` )   Tanguy Ortolo <xmpp:tanguy@ortolo.eu>
>>>>>> <irc://irc.oftc.net/Tanguy>
>>>>>> | `-'    Debian Developer
>>>>>>  \_
>>>>>>
>>>>>> --
>>>>>> Lisez la FAQ de la liste avant de poser une question :
>>>>>> http://wiki.debian.org/fr/FrenchLists
>>>>>>
>>>>>> Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
>>>>>> vers debian-user-french-REQUEST@lists.debian.org
>>>>>> En cas de soucis, contactez EN ANGLAIS listmaster@lists.debian.org
>>>>>> Archive: [🔎] jkd04b$h2c$2@dough.gmane.org">http://lists.debian.org/[🔎] jkd04b$h2c$2@dough.gmane.org
>>>>>>
>>>>>>
>>>>
>>>>
>>
>>
si non, en effet, sans modifier l'appli, ce sera plutot

iptables -t nat -A PREROUTING -i eth0 -s client_proxy_ip -d
199.102.239.158 -p tcp --dport 80 -j DNAT --to proxy:3128


Reply to: