- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个 Python3 项目使用 waitress
在 WSL2/Ubuntu 20 上的本地主机上服务。我从 VSCode 远程启动服务器,但我无法使用地址 http://127.0.0.1:5998 从 Windows 上的浏览器连接到它或 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
我已经使用 netstat -o
检查了 Windows 上使用的端口,但似乎没有任何端口在使用端口 5998。
最佳答案
我已经通过在 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>
在此之后我可以使用 localhost:<port>
进行连接或 127.0.0.1:<port>
或 <WSL IP>:<port>
从 Windows 上的浏览器。
您可以使用 netsh interface portproxy show all
列出当前端口代理命令。
您可能需要 add a firewall rule适用于您在 Windows 上的端口。
更多信息:https://github.com/microsoft/WSL/issues/4150#issuecomment-927091364
关于python-3.x - 无法从 Windows 主机连接到 WSL2 上的本地服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70566305/
我正在开发一个 voip 调用应用程序。我需要做的是在接到来电时将 Activity 带到前台。我在应用程序中使用 Twilio,并在收到推送消息时开始调用。 问题是我试图在接到任何电话时显示 Act
我是一名优秀的程序员,十分优秀!