node.js - 在 WSL2 中运行时无法从浏览器访问 Express 服务器
问题描述
所以,我一直在尝试从 WSL2 内部的 3000 端口启动一个基本的快速服务器。每次我去浏览器时,它都会说“localhost:3000”是无法访问的。我不确定问题出在哪里。我已经能够毫无问题地启动和访问在 WSL2 的端口 3000 上运行的反应应用程序。此外,我已经能够在 WSL2 中从我机器上的其他端口启动 Flask 服务器,而不会出现问题。这个问题似乎与 Express JS 服务器无关,这对我来说没有多大意义。
我已经确认该应用程序已在所有接口上公开,因此应该可以访问 localhost。启动应用程序时,我一直在使用netstat -ltp
. 节点进程确实显示在输出中,这表明端口正在侦听。
有没有我错过的奇怪的 WSL2 配置步骤。奇怪的是,其他不使用 Express JS 的应用程序,应用程序似乎在所有端口上都运行得很好。
我也已经可以通过 Windows 防火墙访问所有本地端口,并通过以下命令在 Windows 端访问这些端口:netsh interface portproxy add v4tov4 listenport=3000 listenaddress=0.0.0.0 connectport=3000 connectaddress=127.0.0.x
我也一直在测试它npx express-generator your-project-name --no-view
以创建标准的 Express JS 模板。
更新:可以从我的网络上的 IP 地址访问服务器,但无法从 localhost 访问。
解决方案
推荐阅读
- javascript - AWS Serverless 中的环境变量验证错误
- sql - SQL Server datediff 和小数舍入到偶数
- android - 使用 Hilt,如何注入没有上下文的类?
- string - 将字符串 IP 地址转换为 32 位整数 (ASM)
- jboss - 如何从jboss的全局模块中排除特定的jar?
- excel - 识别 excel 中多个唯一提交的第一个表单填写
- flutter - 如何在 Flutter 中的 FCM 的默认通道中将声音添加到背景通知中?
- javascript - Express 路由中的正则表达式
- macos - mac上的QT QSystemTrayIcon在第二屏被压扁
- kubernetes - 在 k8s 容器中将环境变量与其他环境变量组合起来