问题描述
最近在往WSL2里拉取git仓库的时候,突然出现了这个问题,WSL2无法连接到git服务器,导致代码无法拉取下来,可能是因为我最近不小心修改了windows的防火墙设置,导致出现了这个问题。
解决办法
在查阅了很多篇博客以后,终于找到一篇博客可以解决我这个问题,下面记录一下详细过程
1. 查看 windows 当前和 wsl 处于同一网段的 ip
echo "Host ip: $(cat /etc/resolv.conf | grep nameserver | awk '{ print $2 }')"
Host ip: 172.17.122.209
2. 设置允 windows 防火墙,允许 wsl 访问
在管理员模式的 PowerShell 输入以下命令:
New-NetFirewallRule -DisplayName "WSL" -Direction Inbound -InterfaceAlias "vEthernet (WSL)" -Action Allow
3. 设置防火墙对代理的连接协议放行
点击受保护的网络连接的自定义。
不勾选WSL项。
打开使用代理服务器,将端口号设置为7890。
5. 设置 git 的 http 代理
在WSL的命令窗输入以下命令,其中172.17.122.209是第1步所获取的WSL当前的IP地址。
git config --global http.https://github.com.proxy http://172.17.122.209:7890
git config --global https.https://github.com.proxy http://172.17.122.209:7890
6. 拉取git仓库
在拉取仓库时,使用HTTPS作为URL。
git clone https://github.com/cu-ecen-aeld/aesd-assignments.git
参考
[1] 拉取github项目的时候,git clone https 失败,需要设置 wsl2 使用 windows 上的代理