Php 通过cURL连接到NodeJS Express URL失败

Php 通过cURL连接到NodeJS Express URL失败,php,node.js,curl,Php,Node.js,Curl,我有一个用OVH托管的用于NodeJS脚本的VPS。VPS在端口3000上运行Express NodeJS脚本以返回JSON。 我有一个网站服务器托管与GoDaddy。web服务器承载我的网站 我需要网站访问NodeJS脚本并检索返回的JSON数据 我知道NodeJS脚本可以工作,因为我可以将URL输入到我的web浏览器中,JSON内容将返回并显示在浏览器中。我也在本地托管了我的网站,这个网站运行得非常好。PHP脚本成功地检索了NodeJSON数据,并且没有出现错误 然而,当我将我的网站上传到G

我有一个用OVH托管的用于NodeJS脚本的VPS。VPS在端口3000上运行Express NodeJS脚本以返回JSON。 我有一个网站服务器托管与GoDaddy。web服务器承载我的网站

我需要网站访问NodeJS脚本并检索返回的JSON数据

我知道NodeJS脚本可以工作,因为我可以将URL输入到我的web浏览器中,JSON内容将返回并显示在浏览器中。我也在本地托管了我的网站,这个网站运行得非常好。PHP脚本成功地检索了NodeJSON数据,并且没有出现错误

然而,当我将我的网站上传到GoDaddy web服务器时;我的PHP脚本无法连接到OVH VPS,当转储
curl_error($ch)
时,我得到错误:
无法连接到{VPS ip}端口3000:连接被拒绝

我尝试更改URL前缀“https://”、“http://”。 我尝试了PHP的file_get_contents(),但也出现了类似的问题

Express服务器的运行时间为:

app.use(cors());
app.get("/server/:id", async (req, res, next) => {
    let server = req.params.id;
    ...
    return res.json({ "foo": "bar" });
});

app.listen(3000, () => {
    console.log(`>> API Connecting          >> 3000`);
});
我的PHP脚本尝试通过以下方式访问上述内容:

$ch = curl_init("http://{OVH VPS IP}/server/12345678");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
$result = curl_exec($ch);
curl_close($ch);
$response = json_decode($result, true);
我希望$response是返回的$result的数组
$result==false
$response==NULL


非常感谢您的帮助

尝试指定下面函数的第二个参数(IP地址),如下所示:

“0.0.0.0”是侦听所有接口


“127.0.0.1”可能是默认值,当您不指定第二个参数时

如果没有有关web服务器的更多详细信息,这将很难回答。PHP和Node.js是在同一台服务器上还是在两台不同的服务器上?如果是两个不同的服务器,您需要确保在Node.js端启用了CORS。然而,错误仍然存在@Mralanlee在您的VPS上您是否运行了nginx?我很好奇,看看这是否是管理您当前的服务器路由。我相信这实际上可能是我的网站主机端的一个问题?我尝试在本地计算机上使用curl连接到URL,也尝试在我的网站主机SSH上使用curl。我的本地机器返回站点内容;但是网站主机SSH返回“curl:(7)无法连接到主机”@mralanlee这是可能的,特别是如果后台运行的nginx实际上是在管理上游解析。
app.listen(3000, '0.0.0.0', () => {
    console.log(`>> API Connecting          >> 3000`);
});