距离上次更新本文已经过去了 184 天,文章部分内容可能已经过时,请注意甄别

今天使用 wsl2 的 centos 的时候遇到了这个问题

plaintext
1
2
wsl: 检测到 localhost 代理配置,但未镜像到 WSL。
NAT 模式下的 WSL 不支持 localhost 代理。

出现这个问题的原因是你的宿主机开启了代理,但是代理对 wsl 并没有起作用。如果你想让 wsl 也能使用代理,就需要进行配置。如果不需要则可以忽略这个提示。

参考 解决”wsl: 检测到 localhost 代理配置,但未镜像到 WSL。NAT 模式下的 WSL 不支持 localhost 代理” - JustInCase - 博客园

在 windows 的 C:\User\<你的用户名>\ 下创建一个.wslconfig,内部写入如下内容

plaintext
1
2
3
4
5
6
[experimental]
autoMemoryReclaim=gradual
networkingMode=mirrored
dnsTunneling=true
firewall=true
autoProxy=true

写完后保存,重启 wsl 即可(在 windows 的 powershell 中执行)

bash
1
wsl --shutdown

再次启动 wsl,不再弹出上述提示

image.png

注意,每次更换代理都需要重启 wsl 才会生效。wsl 会在右下角弹出消息提示。

image.png

如果你的 wsl 不需要使用代理,请不要修改此设置!