隨著Windows 10 Insider build 18945的發(fā)布,Windows子系統(tǒng)Linux版本2現(xiàn)在支持Windows 10應(yīng)用程序通過(guò)localhost連接到WSL2應(yīng)用程序的能力。
當(dāng)WSL2 首次發(fā)布時(shí),它不再能夠使用localhost地址從Windows 10應(yīng)用程序連接到WSL2 Linux服務(wù)器。
如果要從Windows應(yīng)用程序連接到WSL2應(yīng)用程序,則現(xiàn)在必須查找分配給正在運(yùn)行的Linux發(fā)行版的IP地址并將其連接到該應(yīng)用程序。

Windows 10 Insider build 18945 現(xiàn)在已將localhost功能添加到WSL2,您可以通過(guò)Localhost連接到本地運(yùn)行的Docker,NPM或其他服務(wù)。使用nc
下圖中的命令說(shuō)明了這一點(diǎn)。

通過(guò)添加此功能,用戶(hù)現(xiàn)在可以享受增加的WSL2性能帶來(lái)的好處,同時(shí)仍然可以輕松訪問(wèn)他們正在運(yùn)行的任何Linux服務(wù)器。
將服務(wù)器綁定到0.0.0.0以使localhost正常工作
某些用戶(hù)在使用localhost功能在WSL2中工作時(shí)遇到問(wèn)題,因?yàn)樗麄兊姆⻊?wù)器綁定到127.0.0.1。
WSL程序經(jīng)理Craig Loewen在WSL2 錯(cuò)誤帖子中聲明,為了使localhost能夠工作,服務(wù)器需要可以訪問(wèn)所有IP地址,因此綁定到0.0.0.0。
“你能檢查你的php實(shí)例綁定的IP地址嗎?我懷疑它只接受來(lái)自localhost(127.0.0.1)的連接,它需要能夠接受來(lái)自所有IP地址的傳入連接(即:將其綁定到0.0。 0.0)。
所以你需要運(yùn)行命令: php -S 0.0.0.0:8000"
例如,用戶(hù)報(bào)告說(shuō)他們無(wú)法使用該php -S localhost:8000
命令讓PHP在localhost上工作。
這是因?yàn)镠OSTS文件將localhost映射到特定的127.0.0.1環(huán)回地址,因此該功能不起作用。

當(dāng)用戶(hù)將PHP綁定到0.0.0.0時(shí),使用該 php -S 0.0.0.0:8000
命令,localhost連接功能起作用。