如何在 WSL 的 Ubuntu 中设置代理

要为了给 WSL 的 Ubuntu 设置代理,需要进行以下步骤。

系统的全局代理设置

~/.bashrc 文件中追加如下系统变量。

1
2
3
4
export http_proxy="<proxy_url>:<port>"
export https_proxy="<proxy_url>:<port>"
export HTTP_PROXY="<proxy_url>:<port>"
export HTTPS_PROXY="<proxy_url>:<port>"

之后 wgetcurl 等工具应该就可以使用了。

apt 的设置代理

/etc/apt/apt.conf 文件中追加如下设置。

1
2
Acquire::http::Proxy "<proxy_url>:<port>";
Acquire::https::Proxy "<proxy_url>:<port>";

不要忘了每行后的分号。

(Optional)Docker 的代理设置

  • 修改 /etc/wsl.conf 文件让 systemctl 功能生效。

    1
    2
    [boot]
    systemd=true

    修改完之后 wsl 得重启。

    1
    PS C:\wsl.exe --shutdown

    接着在 wsl 里面输入以下命令查看是否生效。

    1
    systemctl list-unit-files --type=service
  • 通过 curl -fsSL https://get.docker.com/ | sh 安装 docker。

  • /etc/systemd/system/docker.service.d/http-proxy.conf 文件中追加如下设置。

    1
    2
    3
    4
    [Service]
    Environment="HTTP_PROXY=<proxy_url>:<port>"
    Environment="HTTPS_PROXY=<proxy_url>:<port>"
    Environment="NO_PROXY=localhost,127.0.0.1"

    之后在 docker 里面就可以使用 apt update 等命令了。