无法 cURL 到 NodeJS,但可以从浏览器访问它

无法 cURL 到 NodeJS,但可以从浏览器访问它

http://18.220.168.1:8888我可以通过浏览器顺利访问我的测试 Node 站点 ( )。但是,当我尝试使用 PHP 的 cURL 进行 cURL 时,我得到:

Array
(
    [curl_error] => Failed to connect to 18.220.168.1 port 8888: Connection refused
    [error_number] => 7
)

我的 cURL 设置是:

$ch = curl_init($url);

curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $method);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);                                                                  
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);

// Temporary for testing self-signed sites
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);

curl_setopt($ch, CURLOPT_HTTPHEADER, array(                                                                          
    'Content-Type: '.$data_type,                                                                                
    'Content-Length: ' . strlen($data),
    'Public-Key: ' . $pub_key,
    'Private-Key: ' . $priv_key,
    'Authorization: Bearer ' . $pub_key,)                                                                       
);

$result = curl_exec($ch);

我在 Amazon 的 EC2 上托管,端口是开放的(显然因为我可以通过浏览器访问它)。知道我在这里做错了什么吗?

谢谢

编辑

我刚刚用 resteasy 的测试器测试了一下,连接得很好。所以它一定是 cURL 请求中或浏览器之间出了问题。

答案1

我觉得自己太蠢了。我刚刚意识到我是从安装了 CSF 的 cPanel 服务器执行此操作的。将此端口添加到 CSF 后,它就起作用了。我会保留这个,以防它能帮助其他脑子短路的人。

相关内容