Crostini - сервер узла не работает на localhost

У меня есть Pixelbook в Chrome 79. В моем терминале (Crostini) я запускаю простое приложение Express:

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

app.get('/', (req, res) => {
    res.send('Hello!');
});

const PORT = 8080;

app.listen(PORT, () => console.log(`Listening on port ${PORT}...`));

И попробуйте в браузере по адресу localhost:8080 и я получаю localhost refused to connect ошибка.

Если я использую инструмент Angular CLI для создания шаблонного проекта Angular и использую ng serve, он говорит мне, что слушает localhost:4200- что я стараюсь это делает работу.

Какая разница? Как заставить мое приложение работать на локальном хосте?

Я чувствую, что у меня это работало в последний раз, когда я пробовал это пару месяцев назад, а теперь это просто не работает, и я не могу сказать, почему. Я попытался использовать другие порты и перезагрузить компьютер, но ничего не изменилось.

Изменить: я видел демонстрацию Google, в которой переадресация портов должна работать здесь автоматически: https://youtu.be/pRlh8LX4kQI?t=1160 - но это не похоже на меня.

Изменить 2: Если я найду IP-адрес своего контейнера с ip addr show | grep inet(для меня это было 100.115.92.199) и попробуйте, что на порту 8080 он работает. Кроме того, я нашел кого-то на Reddit, сообщившего о той же проблеме (ссылка). Поэтому я думаю, что автоматическая переадресация портов не работает.

2 ответа

Решение

У меня также есть Pixelbook в Chrome 79. Ваш код будет работать в Firefox. Чтобы он работал в браузере Chrome, вам необходимо пройтиhostпараметр в app.listen ().

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

app.get('/', (req, res) => {
    res.send('Hello!');
});

const PORT = 8080;
const HOST = 'localhost';

app.listen(PORT, HOST, () => console.log(`Listening on port ${PORT}...`));

В Chrome 80 улучшена интеграция сетевого интерфейса: попробуйте обновиться до бета-версии.

  1. Перейти к настройкам
  2. Внизу левой панели выберите О Chrome OS.
  3. Выберите "Подробная информация о сборке" или "Дополнительные сведения".
  4. Рядом с "Каналом" выберите Сменить канал.
  5. Выберите "Бета"
Другие вопросы по тегам