来自虚拟主机的Guzzle请求有错误的ip

时间:2017-10-16 11:35:21

标签: apache curl guzzle guzzlehttp

我有一个具有不同IP地址的Web服务器。 Apache虚拟主机和DNS映射如下:

ip1 => ip1.domain.com
ip2 => ip2.domain.com
ip3 => ip3.domain.com

我这样做了所以我可以使用来自不同IP地址的guzzlehttp。

但是,如果我这样做,从任何那些誓言主持人那里:

$client = new \GuzzleHttp\Client();
$url = "https://www.whatismyip.com";
$response = $client->request('GET', $url);
$content = $response->getBody();

我walways从服务器获取IP,而不是从虚拟主机获取IP。

我错过了什么吗?有更好的方法吗?

感谢您的帮助,

1 个答案:

答案 0 :(得分:0)

原来所需要的就是在Guzzle中指定网络接口。

不需要不同的虚拟主机,一个就足够了。

示例:

$client = new \GuzzleHttp\Client(['curl' => [ CURLOPT_INTERFACE => 'eth0:1' ]]);