我在 Windows 10 上使用 WSL2。
我的开发堆栈在主机操作系统上使用本地网络服务器(localwp 或 wamp)。
我使用 WSL2 作为主终端(SSH、Git、SASS、自动化工具……)。
我需要的是一种使用服务器名称而不是随机 IP 地址从 WSL2 系统连接到我的主机服务 (MySql) 的方法。
Windows 主机已经可以使用“localhost”连接到 WSL2 服务。有没有办法以其他方式做到这一点?
你应该使用hostname.local
从 WSL2 访问 Windows,因为这将使用正确的 IP。注意hostname
应替换为结果hostname
命令在 WSL2 中运行。
您可以通过运行来检查IPping $(hostname).local
来自 WSL2。
您还需要添加防火墙规则以允许从 WSL2 到 Windows 的流量。在提升的 PowerShell 提示符中运行以下命令:
New-NetFirewallRule -DisplayName "WSL" -Direction Inbound -InterfaceAlias "vEthernet (WSL)" -Action Allow
上面的命令应该允许您从 WSL 访问 Windows 公开的任何内容,无论使用哪个端口,但请记住,您启动的任何应用程序都会在您首次启动它们时为其创建自动规则,从而阻止来自公共网络的访问(这是当您收到来自 Windows 防火墙的提示时,询问是否应允许该应用程序接受来自公共网络的连接)。
如果您没有明确允许,默认情况下它们将被阻止,这也会阻止来自 WSL 的连接。因此,您可能需要找到该入站规则,并将其从阻止更改为允许(或只是将其删除)。
请参阅此处的信息:
https://github.com/microsoft/WSL/issues/4585#issuecomment-610061194 https://github.com/microsoft/WSL/issues/4585#issuecomment-610061194
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)