node.js - 无法连接到在 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 时,一切正常......
有什么建议么 ?
感谢您的帮助!
解决方案
我遇到了同样的问题,并在 reddit讨论中找到了答案 将 路由从“/”更改为“/test”并返回“ok”,你会发现你的服务器正在响应
推荐阅读
- latex - \oldstylenums 的奇怪行为
- java - 部署后Spring数据流没有响应
- reactjs - Reactjs:将请求响应与字符串进行比较
- javascript - 如何从 mongodb 获取聚合数据以显示在 ejs 中?
- javascript - 如何正确导入字体系列文件
- node.js - 我在 heroku 中的 MERN 堆栈应用程序未连接到数据库
- pact - 使用 pact maven 为消费者运行特定的提供者测试
- nlp - 收缩的空间标准化:lemmatizer 和 norm 之间的不一致
- powershell - 作为 GPO 关闭脚本运行的 Powershell 脚本未获取当前登录的用户
- profiling - Callgrind / kcachegrind 调用图输出意味着函数在不相互调用时相互调用