Не удалось подключиться через cURL к URL-адресу NodeJS Express - PullRequest
0 голосов
/ 08 февраля 2019

У меня есть 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

Любая помощь будет ЦЕННО признательна!

1 Ответ

0 голосов
/ 15 февраля 2019

Попробуйте указать второй аргумент функции ниже (IP-адрес) следующим образом:

app.listen(3000, '0.0.0.0', () => {
    console.log(`>> API Connecting          >> 3000`);
});

'0.0.0.0' прослушивает на всех интерфейсах,

'127.0.0.1' являетсявозможно значение по умолчанию, когда Вы не указываете второй аргумент

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...