无法从 Windows 主机连接到 WSL2 上的本地服务器

2024-01-04

我有一个Python项目使用waitress在 WSL2/Ubuntu 20 上的本地主机上提供服务。我从 VSCode 远程启动服务器,但无法使用地址从 Windows 上的浏览​​器连接到它http://127.0.0.1:5998 http://127.0.0.1:5998或 http://localhost:5998,出现无法连接错误。我找不到它有什么问题并感谢任何帮助。

Python服务器:

@app.route('/')
def index():
    return 'Success'
...
if __name__ == '__main__':
    from waitress import serve
    process_count = multiprocessing.cpu_count()
    serve(app, host="0.0.0.0", port=5998, threads=process_count)

我看到它在 WSL 上监听:

> sudo lsof -i -P -n | grep LISTEN
python3 1263 xxx    8u  IPv4  39138      0t0  TCP *:5998 (LISTEN)

我还尝试使用 127.0.0.1 作为serve() ip而不是0.0.0.0,但没有帮助。

我在 Windows 防火墙中有一条规则:

> Get-NetFirewallRule -DisplayName WSL

Name                  : {9c5c5f2b-a9c7-42b7-82ac-f0c2b1819103}
DisplayName           : WSL
Description           :
DisplayGroup          :
Group                 :
Enabled               : True
Profile               : Any
Platform              : {}
Direction             : Inbound
Action                : Allow
EdgeTraversalPolicy   : Block
LooseSourceMapping    : False
LocalOnlyMapping      : False
Owner                 :
PrimaryStatus         : OK
Status                : The rule was parsed successfully from the store. (65536)
EnforcementStatus     : NotApplicable
PolicyStoreSource     : PersistentStore
PolicyStoreSourceType : Local

我已经检查了 Windows 上使用的端口netstat -o似乎没有任何东西在使用端口 5998。


我已经通过在 Windows 上添加端口转发解决了这个问题。

在 WSL 上运行:

ifconfig

inet IP 上eth0条目是您的 WSL IP。

在 Windows 上运行此命令:

netsh interface portproxy add v4tov4 listenport=<port> listenaddress=0.0.0.0 connectport=<port> connectaddress=<your WSL IP>

之后我可以使用连接localhost:<port> or 127.0.0.1:<port> or <WSL IP>:<port>从 Windows 上的浏览​​器。

您可以使用列出当前端口代理netsh interface portproxy show all命令。

您可能需要添加防火墙规则 https://www.nextofwindows.com/allow-server-running-inside-wsl-to-be-accessible-outside-windows-10-host用于 Windows 上的端口。

更多信息:https://github.com/microsoft/WSL/issues/4150#issuecomment-927091364 https://github.com/microsoft/WSL/issues/4150#issuecomment-927091364

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

无法从 Windows 主机连接到 WSL2 上的本地服务器 的相关文章

  • 如何在python中合并具有相同键的嵌套字典

    我有一个这样的数据结构 SNAPSHOT SnapshotVersion 304 SNAPSHOT SnapshotCreationDate 2015 06 21 17 33 41 CafeData CafeVersion 2807 Caf
  • 如何在Windows Git shell中运行./script.sh?

    也许这很尴尬 但是当我在 Git shell 中工作时 我无法在 Windows 上运行 sh 文件 也许我必须安装一些东西 但我认为 Git 会支持 bash 命令 我知道 Windows 不使用 sh 文件 我正在执行安装步骤游戏结束
  • 新的 Windows 应用程序 - 什么语言?

    我们目前正处于开发 Windows 桌面应用程序的前期阶段 但当听到有关 Windows 8 Silverlight WPF Jupiter 的所有最新讨论时 我不知道该相信什么了 现在用WPF启动一个新项目是不是有问题 我应该切换到 Si
  • Pip install 导致此错误“ cl.exe' failed with exit code 2 ”

    我已经阅读了有关此错误的所有其他问题 但令人沮丧的是 没有一个给出有效的解决方案 如果我跑pip install sentencepiece在命令行中 它给出了以下输出 src sentencepiece sentencepiece wra
  • Windows 服务器上的 .htaccess 文件

    我进行了研究 发现我的 htaccess 文件无法在我的新 Windows 服务器上运行 我发现我应该使用 web config 我尝试了一下 但没有任何效果 然后我发现我可以使用 htaccess 文件 但我必须将其命名为其他名称 例如
  • 如何清除整个终端(PowerShell)

    我有一个问题 在powershell中使用clear或cls命令仅清除终端的可见部分 我想知道如何清除整个终端 顺便说一句 我使用 VSCode tl dr 问题是关于清零的both屏幕和回滚缓冲区 in the 综合终端 of 视觉工作室
  • 模块“tensorflow”没有属性“random_uniform”

    我尝试执行一些深度学习应用程序 并收到模块 tensorflow 没有属性 random uniform 错误 在 CPU 上 代码运行良好 但速度非常慢 为了在 GPU 上运行代码 我需要更改一些定义 下面是我的代码 有任何想法吗 def
  • 在 VSCode 的集成终端中运行任务?

    当我过去运行任务 tasks json 时 它们在 VSCode 的集成终端内运行 但是 在重置我的开发计算机并重新安装所有内容后 我的任务现在在新的 cmd 窗口中运行 当任务因错误而失败时 就会出现问题 在这种情况下 cmd 窗口刚刚关
  • 如何得到将外力映射到广义力的矩阵?

    给定一个多体植物 我需要找到将外力 lambda 转换为广义力的矩阵 IE 以下方程中的 Phi 取自 Scott Kuindersma Frank Permenter 和 Russ Tedrake 的 稳定动态运动的有效可解二次规划 我的
  • 如何访问窗口?

    我正在尝试使用其句柄访问特定窗口 即System IntPtr value Getting the process of Visual Studio program var process Process GetProcessesByNam
  • C++ [Windows] 可执行文件所在文件夹的路径[重复]

    这个问题在这里已经有答案了 我需要访问一些文件fstream在我的 Windows 上的 C 应用程序中 这些文件都位于我的exe文件所在文件夹的子文件夹中 获取当前可执行文件的文件夹路径的最简单且更重要的 最安全的方法是什么 Use 获取
  • 批量读取INI文件并将其设置为全局变量

    我有一个批处理文件 它已经做了很多事情 并试图扩展它以从 ini 文件中获取一些数据 例如 ini 文件看起来像这样 Settings1 Text Text Text1 Text Text2 Text Settings2 Text Text
  • Kivy - 获取任何 Android 设备上 DCIM 文件夹的路径

    我想确切地知道如何仅使用 Kivy 获取 Android 上 DCIM 文件夹的路径 PyJinus 不是一个选项 因为它目前不适用于 Python 3 5 到目前为止我尝试过的是 DATA FOLDER os getenv EXTERNA
  • Powershell 设置盖子关闭操作

    我想自动设置 Windows 7 在我的工作笔记本电脑上合上盖子时所执行的操作 因为每次登录时都会通过 GPO 重置该操作 我知道我可以在批处理脚本中使用 powercfg 命令来实现此目的 powercfg setacvalueindex
  • 有没有办法使用 openpyxl 或 xlsxwriter 保护工作簿?

    我正在尝试自动化 Excel 报告 并且我希望用户不要尝试重命名或重新排序工作表 虽然我使用 xlsxwriter 保护单个单元格没有问题 但我没有看到保护工作簿本身的选项 我正在寻找 openpyxl 但教程似乎没有任何效果 编辑 我现在
  • Python 脚本在使用 VS code 打开时找不到文件,但在终端上运行正常

    我有一个 python 脚本 可以使用正常的方式处理一些文件 with open input txt r as file 并且同一文件夹中有input txt 问题是 当我用终端启动它时 就像 keddad keddad pc bioinf
  • 有什么方法可以查看按文件夹层次结构组织的 VSCode“在文件中查找”结果吗?

    我来自 Eclipse 其中使用 h 跨文件搜索字符串会按找到结果的文件夹组织结果 如下所示 搜索结果 https i stack imgur com 8Cg5A png 这非常方便 因为可以折叠和展开文件夹以缩小结果范围 vscode 是
  • 如何解码 dtype=numpy.string_ 的 numpy 数组?

    我需要使用 Python 3 解码按以下方式编码的字符串 gt gt gt s numpy asarray numpy string hello nworld gt gt gt s array b hello nworld dtype S1
  • Windows 与 Linux 文本文件读取

    问题是 我最近从 Windows 切换到 Ubuntu 我的一些用于分析数据文件的 python 脚本给了我错误 我不确定如何正确解决 我当前仪器的数据文件输出如下 Header 有关仪器等的各种信息 Data 状态 代码 温度 字段等 0
  • ESLint 如何集成到 Create React App 中?

    当我跑步时npx create react app some name 为我创建了一个简单的 React 项目 当我随后窥视package json 似乎有一些 ESLint 存在的证据 因为有 eslintConfig extends r

随机推荐

  • 处理缓存动态数据

    我正在使用名为 Quickcache for PHP 的东西 它提供网页的全页缓存 它工作得很好 但我唯一的问题是我有一个动态网站 并且当缓存打开时 某些内容不会按照我想要的方式更新 例如 如果用户登录 即使用户登录到服务器 登录框仍然会出
  • PHP表格(日期)根据有效性动态变色

    div class table responsive table class table table striped table bordered thead th Client Contract Number th th Currentl
  • Delphi 11 中“SSL 协商失败”

    我尝试使用下面的代码发送电子邮件 取自http delphiprogrammingdiary blogspot com 2014 12 how to send email in delphi html http delphiprogramm
  • 从更大的 JSON 字符串中检索所需的字符串

    我有方法返回的 JSON 字符串 public List
  • protobuf-net 如何实现可观的性能?

    我想明白为什么 NET 的协议缓冲区解决方案 http code google com p protobuf net 由开发马克 格拉维尔 https stackoverflow com users 23354 marc gravell就这
  • 如何访问字典列表中的值?

    假设我有一个包含姓名 年龄和其他信息的字典列表 如下所示 thisismylist Name Albert Age 16 Name Suzy Age 17 Name Johnny Age 13 我将如何使用 for 循环打印以下内容 Alb
  • 使用 swift 语言更改按钮背景颜色

    我是 swift 语言的新手 有人可以告诉我如何使用 swift 语言更改按钮的背景颜色吗 button backgroundColor UIColor blue 或任何其他颜色 red green yellow etc 另一个选项是 RG
  • 当我的代码不在堆栈跟踪中时,如何调试 node.js 错误?

    事实上 我并不完全理解why如果节点是单线程的 我的代码不在堆栈跟踪中 也许我从根本上误解了一些东西 但是为什么我的应用程序有时会因堆栈跟踪而终止 而堆栈跟踪中没有我编写的任何内容 我正在使用 node express 编写一个非常简单的代
  • 在使用 MVP 模式构建的 ASP.NET Web 表单应用程序上应用依赖注入

    我正在使用 MVP 模式创建 ASP NET Web 表单应用程序 我的观点的结构是这样的 public partial class ShipperView System Web UI Page IShipperView ShipperPr
  • 使用 Dapper.NET 从存储过程调用获取 Oracle OUT 参数的值

    编辑 使用Execute方法而不是Query QueryMultiple方法 我的OUT SUCCESS参数现在有一个AttachedParam与 与 与OracleParameter有返回值 因此 例如 如果我仅需要检索非游标参数 那么这
  • 打包使用 ImageMagick C API 的应用程序

    我创建了一个使用 ImageMagick C API 的小型 Windows 应用程序 但遇到了一些困难 该应用程序运行良好 我已准备好与我们组织中的其他一些人共享它 但如果不在目标计算机上安装 ImageMagick 我找不到有关分发此类
  • 北欧航空公司。变量是否在数据步骤的每次迭代中都设置为缺失?

    我一直认为数据步骤的每次迭代都将变量设置为缺失 然而 在下面的代码中 变量看起来像是保留了最开始获取的值 我不明白为什么会发生这种情况 data one input x y datalines a 10 a 13 a 14 b 9 run
  • Apache Camel超时同步路由

    我正在 trwing 使用 Apache Camel 构造一个带有超时的同步路由 但我在框架中找不到任何可以解析它的内容 所以我决定建立一个为我制作的流程 public class TimeOutProcessor implements P
  • 为什么 Visual Studio 2019 社区中我的 SSIS 工具箱为空?

    我安装了 Visual Studio 2019 Community 然后安装了数据工具 我可以打开 Integration Services 项目 但当我查看 SSIS 工具箱时 它是空的 我该如何解决 我使用的是 Visual Studi
  • 无法加载 DLL“mqrt.dll”

    我开发了一个 WCF 服务 它作为 Windows 服务托管并公开 MSMQ 端点 我在 SERVER1 上有客户端应用程序 在 SERVER2 上有 MSMQ 和 WCF 服务 当 SERVER1 ClientApp 尝试将消息推送到 S
  • 数据准备好后如何关闭Loader

    In my Ionic 2app 中 我有一个使用服务的组件 该服务使用 http GET 来获取一些数据 然后 我的组件调用该服务 当数据可用时 它会设置并呈现该数据 看起来像以下 export class FarmList implem
  • 在 Access 中导入 Excel 数据

    我的 Access 应用程序中有一个表 需要填充一堆 Excel 文件中的数据 我尝试了这段代码 DoCmd TransferSpreadsheet acImport acSpreadsheetTypeExcel8 strTable str
  • 使用 BouncyCastle 在 C# 中读取 DER 私钥

    我正在尝试使用 BouncyCastle 将 RSA 私钥读入 Net 来测试我之前加密的数据 加密数据使用公钥和 Bouncy Castle 工作正常 我还使用了与下面相同的私钥 DER 格式 在 PHP 应用程序中成功解密我的数据 但我
  • VHDL门控时钟如何避免

    我收到了避免使用门控时钟的建议 因为它可能会导致松弛和时序限制问题 但我想问一下我可以认为什么是门控时钟 例如 此代码对时钟进行门控 因为 StopCount 对它进行门控 process ModuleCLK begin if rising
  • 无法从 Windows 主机连接到 WSL2 上的本地服务器

    我有一个Python项目使用waitress在 WSL2 Ubuntu 20 上的本地主机上提供服务 我从 VSCode 远程启动服务器 但无法使用地址从 Windows 上的浏览 器连接到它http 127 0 0 1 5998 http