PHP cURL出站调用在localhost中工作,但在AWS托管的网站中不工作,尽管允许所有流量
我在wordpress网站(托管在aws linux上)中使用curl从一些api获取一些信息。问题是:我只从一个api获得连接超时。我也联系了api供应商,他们说api工作正常。5天前,同样的代码运行良好 现在,在遍历堆栈并运行一些变体后,结果如下: 1) 同样的代码也适用于localhost。 2) 它也适用于邮递员。 3) 代码已从邮递员复制到网站,但仍然超时。4) 我编辑了aws vpn,以允许除aws推荐的流量之外的所有入站和出站流量,但仍然得到超时 这是我正在使用的基本功能,从postman复制,然后进行修改:PHP cURL出站调用在localhost中工作,但在AWS托管的网站中不工作,尽管允许所有流量,php,amazon-web-services,connection-timeout,php-curl,outbound,Php,Amazon Web Services,Connection Timeout,Php Curl,Outbound,我在wordpress网站(托管在aws linux上)中使用curl从一些api获取一些信息。问题是:我只从一个api获得连接超时。我也联系了api供应商,他们说api工作正常。5天前,同样的代码运行良好 现在,在遍历堆栈并运行一些变体后,结果如下: 1) 同样的代码也适用于localhost。 2) 它也适用于邮递员。 3) 代码已从邮递员复制到网站,但仍然超时。4) 我编辑了aws vpn,以允许除aws推荐的流量之外的所有入站和出站流量,但仍然得到超时 这是我正在使用的基本功能,从pos
function my2get_curl($myurl){
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => $myurl,
CURLOPT_SSL_VERIFYPEER => false,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_CONNECTTIMEOUT => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_USERAGENT =>$user_agent,
CURLOPT_HTTPHEADER => array(
"cache-control: no-cache",
),
));
$response = curl_exec($curl);
$err = curl_error($curl);
$info = curl_getinfo($curl);
curl_close($curl);
if ($err) {
echo " cURL Error #:" . $err;
echo json_encode($info,JSON_PRETTY_PRINT);
die('');
} else {
return $response;
}
}
下面是result/curl错误(与http相同,只是端口号更改为80):
卷曲信息:
{ "url": "https:\/\/www.travelpayouts.com\/whereami?locale=en&callback=useriata&ip=<my.ip.address>", "content_type": null, "http_code": 0, "header_size": 0, "request_size": 0, "filetime": -1, "ssl_verify_result": 0, "redirect_count": 0, "total_time": 21.03931, "namelookup_time": 0.066799, "connect_time": 0, "pretransfer_time": 0, "size_upload": 0, "size_download": 0, "speed_download": 0, "speed_upload": 0, "download_content_length": -1, "upload_content_length": -1, "starttransfer_time": 0, "redirect_time": 0, "redirect_url": "", "primary_ip": "", "certinfo": [], "primary_port": 0, "local_ip": "", "local_port": 0 }
{“url”:“https:\/\/www.travelpayouts.com\/wheremi?locale=en&callback=useriata&ip=”,“内容类型”:null,“http代码”:0,“标题大小”:0,“请求大小”:0,“文件时间”:-1,“ssl验证结果”:0,“重定向计数”:0,“总时间”:21.03931,“名称查找时间”:0.066799,“连接时间”:0,“预传输时间”:0,“上传大小”:0,“大小下载”:0,“速度下载”:0,“速度上传”:0,“下载内容长度”:-1,“上传内容长度”:-1,“开始传输时间”:0,“重定向时间”:0,“重定向url:”,“主ip:”,“证书信息”:[],“主端口”:0,“本地ip:”,“本地端口”:0}
代码是否有问题,或者(更有可能)aws设置?我如何确切地找出导致问题的原因并进行修复。您之所以会遇到此问题,是因为Amazon IP已关闭以访问我们的API。您可以在Amazon中发送静态IP,我们将添加它们。您之所以会遇到此问题,是因为Amazon IP已关闭以访问我们的API。您可以在Amazon中发送静态IP,我们将添加它们它们。你能分享你到底是如何允许入站和出站流量的吗?@Matit VPC>NACL>选择下面的NACL>选择入站/出站选项卡>编辑规则。我刚刚添加了一个包含所有流量的规则,0.0.0.0/0允许你分享你到底是如何允许入站和出站流量的吗?@Matit VPC>NACL>选择下面的NACL>选择入站/出站选项卡>编辑规则。我刚刚添加了一个包含所有流量的规则,0.0.0.0/0 Allow我们正在使用elastic beanstalk,我在哪里可以找到静态ip?网站名称是:www.movingisliving.in。顺便说一句,我们从过去5天以来一直与您的支持人员保持联系。我进行了nslookup,得到了这个:185.82.212.199,而ping给出了13.233.171.240Elastic Beanstalk没有静态IP,至少默认情况下没有。@DeeponGhoseRoy好的。与支持团队保持联系,他们会帮助解决您的问题problem@Travelpayouts支持人员没有响应。我们正在使用elastic beanstalk,我在哪里可以找到静态ip?网站名称是:www.movingisliving.in。我们已经与y顺便说一句,我们的支持人员在过去的5天里一直在进行nslookup,我得到了这个:185.82.212.199,而ping给出的13.233.171.240Elastic Beanstalk没有静态IP,至少默认情况下没有。@DeeponGhoseRoy好的。与支持团队保持联系,他们会帮助解决您的问题problem@Travelpayouts支持人员没有回应。
{ "url": "https:\/\/www.travelpayouts.com\/whereami?locale=en&callback=useriata&ip=<my.ip.address>", "content_type": null, "http_code": 0, "header_size": 0, "request_size": 0, "filetime": -1, "ssl_verify_result": 0, "redirect_count": 0, "total_time": 21.03931, "namelookup_time": 0.066799, "connect_time": 0, "pretransfer_time": 0, "size_upload": 0, "size_download": 0, "speed_download": 0, "speed_upload": 0, "download_content_length": -1, "upload_content_length": -1, "starttransfer_time": 0, "redirect_time": 0, "redirect_url": "", "primary_ip": "", "certinfo": [], "primary_port": 0, "local_ip": "", "local_port": 0 }