Недавно я переключился с Linux на WSL2 (Ubuntu 20.04) в Windows 10. Когда я запускаю любое приложение NodeJs или сервер, например Apache или Nginx, все работает нормально на localhost или 127.0.0.1, но не работает, когда я использую свой локальный IP-адрес ( 192.168.1.65).
netstat -tupln при запуске приложения node js
Я попытался отключить брандмауэр в Windows и WSL, но это не сработало.
Я включил IIS из «Программы и функций», и, похоже, он отлично работает на localhost и ip. Итак, я решил, что это не проблема с сетью.
Все сообщения, которые я прочитал, предполагают, что если сайт доступен через 127.0.0.1, а не через ip, вы можете настроить файлы конфигурации сервера для Apache или Nginx. Но я переустановил wsl и размещаю только через NodeJs / Express.
Код для server.js экспресс-приложения:
const express = require("express");
const next = require("next");
const port = parseInt(process.env.PORT, 10) || 3000;
const dev = process.env.NODE_ENV !== "production";
const app = next({ dev });
const handle = app.getRequestHandler();
app.prepare().then(() => {
const server = express();
server.use(express.static("public"));
server.all("*", (req, res) => {
return handle(req, res);
});
server.listen(port, "0.0.0.0", (err) => {
if (err) throw err;
console.log(`> Ready on http://localhost:${port}`);
});
});
Все, что я хочу сделать, это получить доступ к сайту со своего мобильного телефона в той же сети.