无法从PHP CURL访问NodeJS REST API

时间:2016-03-11 07:43:13

标签: php node.js codeigniter curl nginx

我有一个NodeJS API来发送推送通知(GCM和APN)以及它的顺利运行。

现在我有一个内置 PHP Codeigniter 的管理面板,我想使用cURL调用推送API 。代码就像这样

<?php 
 $url = "http://my_ip:9100/service/api/push";
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);       
    curl_setopt($ch, CURLOPT_HEADER, 0);

    if(curl_exec($ch) === false)
    {
        echo 'Curl error: ' . curl_error($ch);
    }

    curl_close($ch); 
?>

但它无法连接并输出

  

无法连接到my_ip:权限被拒绝

我测试了来自Postman Client Tool的Push API,并且它的工作顺利进行。如果我在浏览器中尝试这个,至少它会进入API方法。

PHP Project和NodeJS Application都在同一个服务器(NGINX)中,我尝试使用'localhost'代替IP地址,但没有用。

我在这里缺少什么?

  • 在cURL中调用请求时需要添加的任何内容(为curl_setopt()尝试了许多组合)
  • 阻止来自cURL的请求的任何服务器设置

提前致谢。

1 个答案:

答案 0 :(得分:0)

您尚未允许来自快速服务器的CORS。这应该只是拒绝卷曲连接的原因。看到这个允许来自快递服务器的cors。 CORS on ExpressJS