2010-10-08 74 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,它可以很好地模拟网卡。 也有实用程序做SOCKS代理一样,我也听到了一些黑客端口的东西通过HTTP代理,但我认为其相当不可能的,他们正常工作...

+0

谢谢你,如果我理解正确,没有办法从Apache或PHP这样做配置文件? – Ionica 2010-10-08 10:50:27

+0

更确切地说,我需要使用Fiddler来查看来自php脚本的请求。这就是为什么我需要在那里设置代理。你有其他解决方案吗? – Ionica 2010-10-08 10:51:27

+0

我会建议使用wireshark或在目标服务器上登录请求 – 2010-10-08 11:43:46

0

使用与Apache一起nginx服务器。这是一个反向proxy server ..它可以配置自己来处理html requests和发送php requestsApache(Apache的,必须在本地主机上监听)