解决方案
目前不明确到底是哪一步解决了问题,如果只想看解决问题的话最可能的解决步骤是这一步:
在wsl当中使用ifconfig查看wsl的ip地址(红框里面的是最后起作用的地址,加上端口就可以起作用)
排查过程
排查过程基本就是大杂烩,在知乎,谷歌,百度里面把前几页搜索到的方法都给试了试
排查两个小时,我终于连通wsl2里面的web服务了哈哈哈哈哈哈哈哈哈哈
太不容易了
wsl里面可以curl通127.0.0.1:3000
win里面curl不通
ipconfig /all查到win的ip,wsl的ip
wsl里面ping不通win的ip,后来通过关闭防火墙解决了
win里面可以ping到wsl的ip
win访问0.0.0.0,localhost都不能访问
感觉就是win是一块网,wsl是一块网
网上查的宿主机localhost就应该能访问wsl的
改防火墙的入站规则,改了两个
一个是2222端口连ssh
一个是增加所有程序的所有端口
试了试改梯子的白名单,改hosts
改wsl里面的hosts
改web服务的端口
wsl加ssh
全都不能用
最后是偶然间在关闭了梯子的情况下按照之前改过的hosts,通过在wsl里面ifconfig查到的ip地址加上端口号在宿主机里访问到了。之前这样试的时候是不行的,不知道是上面哪一步里起作用了,还是哪几步加起来一起起作用了
结语
如果大家有知道具体是哪一步出了问题的话欢迎告诉我
愿天堂没有没有意义的环境配置