Не удается получить доступ к Nodejs / Express Server на macOS High Sierra с другого компьютера - PullRequest
0 голосов
/ 30 июня 2018

Я запустил простой экспресс-сервер на MacOS High Sierra. localhost:3000 и 127.0.0.1:3000 работают нормально. Однако, когда я получил доступ к серверу через http://192.168.x.x:3000 с другого компьютера, я не получил никакого ответа (ERR_EMPTY_RESPONSE).

Я тестировал сервер на другом MacBook (MacOS Sierra) и компьютере с Windows, все работает нормально.

Итак, я думаю, что-то не так с MacOS High Sierra.

Любая помощь будет приветствоваться. Заранее спасибо.

Вот это code:

const express = require('express')
const app = express()

app.get('/', (req, res) => res.send('Hello World!'))

app.listen(3000, () => console.log('Example app listening on port 3000!'))

Ответы [ 2 ]

0 голосов
/ 01 июля 2018

ОБНОВЛЕНИЕ MacOS

Я попытался переустановить узел, npm, изменить настройки общего ресурса, но они также не работают.

Наконец, я обновил MacOS (10.13.4 -> 10.13.5), и теперь другие компьютеры могут обращаться к моему серверу, как чудо.

---------- Обновление -------------

Через несколько (счастливых) дней проблема снова возникла.

К счастью, теперь я почти уверен, что проблема была в ESET EndPoint Security, так как это последнее приложение, которое я установил. Поэтому я открываю брандмауэр ESET и создаю новое правило, которое позволяет локальному сетевому адресу подключаться через TCP и UDP. Сервер снова работает как шарм.

Надеюсь, это поможет другим.

0 голосов
/ 30 июня 2018

См. https://nodejs.org/en/docs/guides/getting-started-guide/

Как только вы установили Node, давайте попробуем создать наш первый веб-сервер. Создайте файл с именем «app.js» и вставьте следующий код:

const http = require('http');

const hostname = '127.0.0.1';
const port = 3000;

const server = http.createServer((req, res) => {
  res.statusCode = 200;
  res.setHeader('Content-Type', 'text/plain');
  res.end('Hello World\n');
});

server.listen(port, hostname, () => {
  console.log(`Server running at http://${hostname}:${port}/`);
});

После этого запустите ваш веб-сервер с помощью узла app.js, зайдите на http://localhost:3000, и вы увидите сообщение «Hello World»

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