2010-10-08 4 views
2

J'ai un serveur apache local, et j'ai besoin de passer toutes les demandes du script PHP (en cours d'exécution sur mon serveur local) via un proxy. Je dois donc définir un proxy à Apache/php.Requêtes PHP via le proxy

Comment configurer un serveur apache pour proxy pour toutes les connexions sortantes?

Répondre

2

bien la réponse est en partie oui. php a des fonctions d'ouverture de socket, donc vous pouvez théoriquement tout faire en définissant vos propres fonctions. mais php a introduit le paramètre de contexte dans la plupart des fonctions qui effectuent des appels externes. un exemple d'utilisation pour file_get_contents serait la suivante:

$url = 'http://www'; 

$proxy = 'tcp://xxx:8080'; 

$context = array(
    'http' => array(
     'proxy' => $proxy, 
     'request_fulluri' => True, 
     ), 
    ); 

$context = stream_context_create($context); 

$body = file_get_contents($url, False, $context); 

mais vous ne pouvez pas faire « quelque chose » à faire toutes vos demandes vont par magie à travers un proxy. bien que ce n'est pas tout à fait vrai aussi, mais vous devez le faire sur une autre couche. vous avez la possibilité d'utiliser un VPN qui fonctionnera très bien car il émule une carte réseau. il y a aussi des utilitaires pour faire la même chose pour les procurations chaussettes, j'ai aussi entendu quelques hacks à quelque chose de port par proxy http, mais je pense qu'il est peu probable qu'ils fonctionnent correctement ...

+0

Merci, si je comprends bien, il n'y a aucun moyen de le faire à partir apache ou php fichier de configuration ? – Ionica

+0

Plus exactement, j'ai besoin d'utiliser Fiddler, pour voir les requêtes d'un script PHP. C'est pourquoi j'ai besoin de définir le proxy ici. Avez-vous une autre solution pour cela? – Ionica

+0

Je suggère d'utiliser wireshark ou de consigner les demandes sur le serveur cible –

0

utilisation du serveur nginx avec Apache. il est un revers proxy server ..il peut être configuré pour gérer html requests par lui-même et envoyer php requests à Apache (Apache doit être à l'écoute sur localhost)