在 WSL(Windows Subsystem for Linux)中配置代理
简介
WSL(Windows Subsystem for Linux)可以在 Windows 中运行 Linux。由于 WSL 网络栈的特殊性,在 WSL 中配置代理与标准 Linux 环境有所不同。
基本配置
WSL2 与代理
WSL2 使用虚拟网络。在 WSL2 中获取宿主机 IP:
cat /etc/resolv.conf | grep nameserver
在 ~/.bashrc 或 ~/.profile 中配置代理:
export http_proxy=http://host_ip:port
export https_proxy=http://host_ip:port
export no_proxy=localhost,127.0.0.1
自动检测宿主机 IP
WSL2 重启后宿主机 IP 会变化。用脚本自动获取:
HOST_IP=$(cat /etc/resolv.conf | grep nameserver | awk '{print $2}')
export http_proxy=http://$HOST_IP:port
WSL1
WSL1 直接使用宿主机网络。代理的配置方式与标准 Linux 环境相同。Windows 系统代理不会自动传递给 WSL1。
高级配置
环境变量
大多数工具都支持标准的代理环境变量:
- HTTP_PROXY / http_proxy — 用于 HTTP 请求的代理
- HTTPS_PROXY / https_proxy — 用于 HTTPS 请求的代理
- NO_PROXY / no_proxy — 例外列表(绕过代理的地址)
- ALL_PROXY / all_proxy — 用于所有协议的代理
SSL 与自签名证书
企业代理常使用自有的 SSL 证书。要通过这类代理工作,需要:
1. 向管理员获取代理的 CA 证书
2. 将其添加到系统证书库
3. 或者关闭 SSL 校验(仅限测试)
认证
支持两种主要认证方式:
用户名和密码 — 标准 HTTP Basic 认证。每次请求都会发送凭据。URL 格式:http://user:pass@proxy_ip:port
IP 地址(白名单) — 将您的 IP 加入白名单,无需发送凭据。
验证
配置完成后请检查:
1. 通过代理发送一次测试请求
2. 确认 IP 已更改
3. 检查连接速度
4. 确认没有 DNS 泄漏
故障排查
代理连接问题
- 检查地址和端口是否正确
- 确认防火墙没有阻断连接
- 检查从您的网络能否访问该代理
SSL 错误
- 企业代理请添加 CA 证书
- 测试时可临时关闭 SSL 校验
- 将 SSL 库更新到最新版本
认证错误
- 检查用户名和密码
- 确认凭据格式正确
- 尝试对密码中的特殊字符进行 URL 编码
最佳实践
- 使用环境变量 — 兼顾灵活性与安全性
- 不要把凭据硬编码 — 使用环境变量或配置文件
- 配置例外 — 不要让 localhost 和内网地址走代理
- 记录配置 — 写进项目 README 或团队 wiki
- 变更后测试 — 任何配置改动都需要验证
结论
正确的代理配置能保证工具稳定运行和连接安全。请遵循本指南的建议,并在配置完成后始终验证可用性。
