【发布时间】: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