Aller au contenu

Faire passer Apache par un proxy en local


captain_torche

Sujets conseillés

Euh... Le comportement normal d'Apache c'est d'être un serveur, donc s'il fait des connexions sortantes il faut nous préciser qui c'est qui les fait... mod_proxy? php? Autre chose?

Ou alors je n'ai pas compris la question...

Jacques.

Lien vers le commentaire
Partager sur d’autres sites

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 ?

Lien vers le commentaire
Partager sur d’autres sites

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.

Lien vers le commentaire
Partager sur d’autres sites

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 ?

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.

Lien vers le commentaire
Partager sur d’autres sites

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...