У меня есть VPS, размещенный с OVH для сценария NodeJS.VPS запускает сценарий Express NodeJS на порту 3000, чтобы вернуть JSON.У меня есть веб-сервер, размещенный на GoDaddy для веб-сайта.Мой веб-сервер размещен на веб-сервере.
Мне требуется, чтобы веб-сайт получил доступ к сценарию NodeJS и получил возвращаемые данные JSON.
Я ЗНАЮ, что сценарий NodeJS работает так, как я могу ввестиURL-адрес в моем веб-браузере, а содержимое JSON возвращается и отображается в браузере.Я также размещал свой веб-сайт локально, и сайт работает отлично.Скрипт PHP успешно извлекает данные JSON NodeJS, и ошибок не возникает.
ОДНАКО, когда я загружаю свой веб-сайт на веб-сервер GoDaddy;Мой PHP-скрипт не может подключиться к VPS OVH, и при выводе curl_error($ch)
я получаю сообщение об ошибке: Failed to connect to {vps ip} port 3000: Connection refused
.
Я попытался изменить префикс 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 == false
и $response == NULL
Любая помощь будет ЦЕННО признательна!