【问题标题】:Unable to connect to local server on WSL2 from Windows host无法从 Windows 主机连接到 WSL2 上的本地服务器
【发布时间】:2022-01-03 13:13:52
【问题描述】:

我有一个 Python3 项目,使用 waitress 在 WSL2/Ubuntu 20 上的 localhost 上提供服务。我从 VSCode 远程启动服务器,但我无法使用地址 http://127.0.0.1:5998 或 http 从 Windows 上的浏览​​器连接到它: //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

我使用 netstat -o 检查了 Windows 上使用的端口,但似乎没有使用端口 5998。

【问题讨论】:

    标签: python-3.x windows visual-studio-code wsl-2 waitress


    【解决方案1】:

    我已经解决了在 Windows 上添加端口转发的问题。

    在 WSL 上运行:

    ifconfig
    

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

    在 Windows 上运行此命令:

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

    之后,我可以在 Windows 上的浏览​​器中使用 localhost:&lt;port&gt;127.0.0.1:&lt;port&gt;&lt;WSL IP&gt;:&lt;port&gt; 进行连接。

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

    您可能需要add a firewall rule 为您在 Windows 上的端口。

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

    【讨论】:

      猜你喜欢
      • 2013-04-22
      • 1970-01-01
      • 2016-02-19
      • 1970-01-01
      • 2019-09-21
      • 1970-01-01
      • 2022-12-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多