随着Windows 10 Insider build 18945的发布,Windows子系统Linux版本2现在支持Windows 10应用程序通过localhost连接到WSL2应用程序的能力。
当WSL2 首次发布时,它不再能够使用localhost地址从Windows 10应用程序连接到WSL2 Linux服务器。
如果要从Windows应用程序连接到WSL2应用程序,则现在必须查找分配给正在运行的Linux发行版的IP地址并将其连接到该应用程序。
Windows 10 Insider build 18945 现在已将localhost功能添加到WSL2,您可以通过Localhost连接到本地运行的Docker,NPM或其他服务。使用nc
下图中的命令说明了这一点。
通过添加此功能,用户现在可以享受增加的WSL2性能带来的好处,同时仍然可以轻松访问他们正在运行的任何Linux服务器。
将服务器绑定到0.0.0.0以使localhost正常工作
某些用户在使用localhost功能在WSL2中工作时遇到问题,因为他们的服务器绑定到127.0.0.1。
WSL程序经理Craig Loewen在WSL2 错误帖子中声明,为了使localhost能够工作,服务器需要可以访问所有IP地址,因此绑定到0.0.0.0。
“你能检查你的php实例绑定的IP地址吗?我怀疑它只接受来自localhost(127.0.0.1)的连接,它需要能够接受来自所有IP地址的传入连接(即:将其绑定到0.0。 0.0)。
所以你需要运行命令: php -S 0.0.0.0:8000"
例如,用户报告说他们无法使用该php -S localhost:8000
命令让PHP在localhost上工作。
这是因为HOSTS文件将localhost映射到特定的127.0.0.1环回地址,因此该功能不起作用。
当用户将PHP绑定到0.0.0.0时,使用该 php -S 0.0.0.0:8000
命令,localhost连接功能起作用。