我的web服务器在wsl上,而beeware在anaconda上(windows版本不是linux),我如何配置beeware应用程序来与wsl服务器通信。有没有可行的办法?目前我使用ngrok主机作为网关。有没有不需要数据包在系统外传输的替代方法?有没有开发本地系统的指南?
发布于 2021-01-20 07:51:13
由于我目前没有使用Beeware/Anaconda,因此我将尝试一般性地回答这个问题。我试着浏览了Beeware文档,但太多的内容(包括“发布”,这可能是nginx集成中的一个关键元素)“很快就会出现”。
假设其中没有虚拟机或容器,Windows应该检测WSL2实例上的端口,并将它们正确地映射到本地主机。例如,如果在WSL中使用python3 -m http.server 3000,那么您应该能够在http://localhost:3000的Windows web浏览器中打开该页面。因此,默认情况下,Windows上的Anaconda应该能够通过localhost访问WSL中的web服务器。如果这没有发生:
首先,确保nginx正在监听0.0.0.0
wsl --shutdown命令来重置接口。一个长期的解决方案可能是禁用Windows快速启动。另一方面,如果需要从nginx连接到Beeware/Anaconda,WSL2不会将本地主机映射回Windows主机。您需要通过Windows主机IP访问它。
最简单的方法是使用mDNS,这意味着您可以从WSL2中访问mDNS名为"mycomputername.local“的Windows主机,其中mycomputername name是Windows的”计算机名“。
如果mDNS无法工作,请查看this answer以了解更多详细信息和替代方案。
https://stackoverflow.com/questions/65789856
复制相似问题