On a un nouveau proxy au boulot, et apparemment, Apache tente des connexions directes en local.
Y a t'il un moyen de le configurer pour qu'il passe par le proxy ? Comment faire ?
Merci d'avance.
Page 1 sur 1
Faire passer Apache par un proxy en local
#1
Posté 11 juin 2010 - 09:12
#3
Posté 11 juin 2010 - 10:05
Au temps pour moi 
Mon ordi (sous windows XP) utilise un proxy pour se connecter au net.
Ma version locale d'Apache (EasyPHP) n'est apparemment pas paramétrée pour accéder à ce proxy, d'où l'impossibilité d'accès à des fichiers distants.
Comment configurer Apache en local pour qu'il passe par le proxy ?
Mon ordi (sous windows XP) utilise un proxy pour se connecter au net.
Ma version locale d'Apache (EasyPHP) n'est apparemment pas paramétrée pour accéder à ce proxy, d'où l'impossibilité d'accès à des fichiers distants.
Comment configurer Apache en local pour qu'il passe par le proxy ?
#4
Posté 11 juin 2010 - 10:33
Tu veux dire dans un script php? J'ai l'impression qu'il n'y a malheureusement pas de config globale possible (i.e. dans php.ini), donc tu es obligé de modifier ton code pour que tous les appels utilisent un context dans lequel le paramètre proxy va être réglé.
Cf stream_context_create et stream_context_set_option.
Jacques.
Cf stream_context_create et stream_context_set_option.
Jacques.
#5
Posté 11 juin 2010 - 13:26
captain_torche, le 11 juin 2010 - 10:05, dit :
Au temps pour moi 
Mon ordi (sous windows XP) utilise un proxy pour se connecter au net.
Ma version locale d'Apache (EasyPHP) n'est apparemment pas paramétrée pour accéder à ce proxy, d'où l'impossibilité d'accès à des fichiers distants.
Comment configurer Apache en local pour qu'il passe par le proxy ?
Mon ordi (sous windows XP) utilise un proxy pour se connecter au net.
Ma version locale d'Apache (EasyPHP) n'est apparemment pas paramétrée pour accéder à ce proxy, d'où l'impossibilité d'accès à des fichiers distants.
Comment configurer Apache en local pour qu'il passe par le proxy ?
Ce n'est pas faisable directement dans la configuration d'Apache. Je vois 2 possibilités :
1/ Faire un proxy transparent sur le routeur par lequel tu passes. Si le routeur est une machine Linux, ça se fait très simplement, une ou deux règle iptables et c'est bon.
2/ Si la première solution ne peut pas être appliquée, alors utiliser la solution que jcaron préconise, qui est disponible dans php 5.0
<?php
$context = stream_context_create(
array('http'=>
array('proxy'=>'tcp://proxy.monentreprise.com:3128')
));
$contents = file_get_contents('http://www.site_distant.com/', false, $context);
?>Bien entendu, le port 3128 est à changer, j'ai pris ce numéro car le proxy squid l'utilise par défaut.
#6
Posté 11 juin 2010 - 13:55
Non, je n'ai pas la main sur le routeur. Je vais tester vos méthodes, je vous tiens au courant !
Partager ce sujet :
Page 1 sur 1




Haut










