首页 > 解决方案 > 无法连接到在 WSL2 中运行的本地 Node.js 服务器

问题描述

我一直在尝试使用来自 WSL2 的 express 在端口 3000 上运行一个简单的 node.js 服务器


const express = require('express');

const app = express();

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

app.listen(3000, () => {
    console.log('Run at http://localhost:3000');
});

我可以从我的计算机的浏览器中连接并看到“Hello World”,但我无法从外部设备的浏览器(我的手机等)连接我将我的 windows ip 都设置为 wsl2 ip,但没有一个有效

我也尝试像这样在“0.0.0.0”中设置主机,但它也不起作用

app.listen(3000, '0.0.0.0', () => {
    console.log('Run at http://localhost:3000');
});

无法连接服务器图像

当我尝试运行同一台服务器但在我的 Windows 中使用 git bash 时,一切正常......

有什么建议么 ?

感谢您的帮助!

标签: node.jsexpresswsl-2

解决方案


我遇到了同样的问题,并在 reddit讨论中找到了答案 将 路由从“/”更改为“/test”并返回“ok”,你会发现你的服务器正在响应


推荐阅读