2010-10-08 4 views
2

У меня есть локальный сервер apache, и мне нужно передать все запросы из php-скрипта (работающего на моем локальном сервере) через прокси-сервер. Поэтому мне нужно установить прокси-сервер для apache/php.Запросы Php через прокси

Как настроить сервер Apache для прокси-сервера для всех исходящих подключений?

ответ

2

хорошо ответ частично да. php имеет функции открытия сокетов, поэтому вы теоретически можете сделать все, определив свои собственные функции. но php ввел параметр контекста в большинство функций, выполняющих внешние вызовы. пример использования для file_get_contents будет следующим:

$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); 

, но вы не можете сделать «что-то», чтобы сделать все ваши запросы волшебно пройти через прокси-сервер. хорошо, это не совсем так, но вы должны сделать это на другом уровне. у вас есть возможность использовать VPN, который будет работать отлично, когда он эмулирует сетевую карту. Есть также утилиты, чтобы сделать то же самое для носки прокси, я также слышал, для некоторых хаков к порту что-то через HTTP-прокси, но я думаю, что его довольно маловероятно, что они работают должным образом ...

+0

Спасибо, если я правильно понимаю, что нет никакого способа сделать это с Apache или PHP Файл конфигурации ? – Ionica

+0

Точнее, мне нужно использовать Fiddler, чтобы увидеть запросы от php-скрипта. Вот почему мне нужно установить прокси-сервер. У вас есть другое решение для этого? – Ionica

+0

Я бы предложил использовать wirehark или протоколировать запросы на целевом сервере –

0

использование nginx сервер вместе с Apache. это обратная proxy server ..Это может быть сконфигурировано для обработки html requests самих по себе и отправить php requests в Apache (Apache должен слушать на локальном)

Смежные вопросы