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 улучшена интеграция сетевого интерфейса: попробуйте обновиться до бета-версии.
- Перейти к настройкам
- Внизу левой панели выберите О Chrome OS.
- Выберите "Подробная информация о сборке" или "Дополнительные сведения".
- Рядом с "Каналом" выберите Сменить канал.
- Выберите "Бета"