我有一个API托管在web服务器上,运行在AmazonEC2端口5001上。当我从chrome浏览器调用API时,它可以工作,但当我从PHP HTTP客户端调用它时,我得到了错误:
Failed to connect to [my public domain].compute.amazonaws.com port 5001: Connection refused
-
web服务器在HTTP而不是HTTPS上运行。
-
对于EC2实例安全组,我添加了
Custom TCP
-
当我在其他网站(如www.google.com)上使用相同的HTTP客户端时,效果很好。
<?php
header('Content-Type: application/json');
$url = $_GET['url'];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'GET');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$server_output = curl_exec($ch);
if (curl_errno($ch)) {
print curl_error($ch);
}
curl_close($ch);
if ($server_output == "OK") { echo "ok"; } else { echo $server_output; }
?>