Windows 10 和 11 的代理设置在"网络和 Internet"设置中的"代理"部分管理,既可以手动配置代理服务器地址和端口,也可以通过 PAC(Proxy Auto-Configuration)脚本自动配置。
进入代理设置
在 Windows 10 或 11 上配置代理设置:
- 打开设置应用。可以按
Win + I,或点击开始按钮并选择"设置"。 - 进入网络和 Internet。
- 在左侧菜单中选择代理。
代理设置中提供两种主要配置方式:自动代理设置和手动代理设置。
自动代理设置
该方式使用 Proxy Auto-Configuration(PAC)脚本,它是一个 JavaScript 文件,定义了浏览器和其他 user agent 在获取指定 URL 时如何自动选择合适代理服务器的规则。
配置自动代理设置
- 在代理设置中找到自动代理设置部分。
- 除非您的网络环境依赖 Web Proxy Auto-Discovery Protocol(WPAD),否则将自动检测设置切换为关闭。若要使用特定的 PAC 文件,通常应保持关闭。
- 将使用安装脚本切换为开启。
- 在脚本地址字段中填入 PAC 文件的完整 URL(例如
http://proxy.example.com/proxy.pac)。 - 点击保存。
PAC 文件注意事项
- 动态配置: PAC 文件可根据目标 IP、主机名或协议动态选择代理,比手动配置提供更细粒度的控制。
- 集中管理: 只需修改 Web 服务器上的单个 PAC 文件即可下发代理规则更新,简化多客户端的管理。
- 可用性: PAC 文件服务器必须持续可访问,代理配置才能正常工作。如果服务器宕机,客户端可能失去互联网访问或无法使用代理。
- 调试: PAC 文件问题排查可能比较复杂。请确保脚本语法正确,且托管它的服务器可访问。
手动代理设置
该方式为所有互联网流量指定单个代理服务器地址和端口。
配置手动代理设置
- 在代理设置中找到手动代理设置部分。
- 将使用代理服务器切换为开启。
- 在代理 IP 地址字段中填入代理服务器的 IP 地址或主机名。
- 在端口字段中填入代理服务器使用的端口号(例如
8080、3128)。 - (可选)勾选请勿将代理服务器用于本地(Intranet)地址。这会让访问本地网络资源的请求绕过代理,通常建议开启,以免内部流量不必要地经过代理。
- (可选)在请勿对以下列条目开头的地址使用代理服务器文本框中,填入不应走代理的特定地址或域名,用分号分隔(例如
*.local; 192.168.1.0/24; example.com)。 - 点击保存。
手动配置注意事项
- 简单: 对于单个固定的代理服务器,配置非常直接。
- 灵活性有限: 不如 PAC 文件动态。除被排除的以外,所有流量都经指定代理转发。
- 代理认证: 如果代理服务器要求认证,Windows 通常会在首次连接时弹出对话框索要凭据。这些凭据往往会在本次会话中被缓存。
系统级与应用级代理设置
Windows 代理设置通常是系统级的,也就是说它们适用于大多数 Universal Windows Platform(UWP)应用,以及许多遵循系统代理配置的传统 Win32 应用。不过,某些应用可能覆盖或忽略这些设置。
可能忽略系统代理设置的应用
- Web 浏览器:
- Google Chrome、Microsoft Edge、Internet Explorer: 这些浏览器默认通常遵循系统代理设置。
- Mozilla Firefox: Firefox 维护自己独立的代理设置,可在
选项 > 网络设置 > 设置...中配置。它可以设置为使用系统代理设置,也可以使用自定义设置。 - Opera、Vivaldi: 通常基于 Chromium,一般遵循系统设置,但可能提供特定的覆盖选项。
- VPN 客户端: VPN 软件通常会建立自己的网络接口和路由,绕过系统代理设置或与之共存。
- 下载管理器: 部分下载管理器内置代理配置选项,可覆盖系统设置。
- 命令行工具:
curl或wget等工具通常需要通过命令行参数或环境变量显式配置代理。
为命令行工具设置代理
对于 curl 这类工具或依赖标准环境变量的应用,可以设置 HTTP_PROXY 和 HTTPS_PROXY(以及用于排除的 NO_PROXY)。
SET HTTP_PROXY=http://proxy.example.com:8080
SET HTTPS_PROXY=http://proxy.example.com:8080
SET NO_PROXY=localhost,127.0.0.1,.local
如需持久化环境变量,请使用"系统属性"对话框或 PowerShell:
[System.Environment]::SetEnvironmentVariable('HTTP_PROXY', 'http://proxy.example.com:8080', 'User')
[System.Environment]::SetEnvironmentVariable('HTTPS_PROXY', 'http://proxy.example.com:8080', 'User')
[System.Environment]::SetEnvironmentVariable('NO_PROXY', 'localhost,127.0.0.1,.local', 'User')
若要设置需要管理员权限的系统级变量,请将 'User' 替换为 'Machine'。
代理服务器类型与 Windows 支持情况
Windows 系统代理设置主要支持 HTTP 和 HTTPS 代理。SOCKS 代理(SOCKS4、SOCKS5)通常无法通过 Windows 原生代理设置直接配置,一般需要按应用单独配置或使用第三方客户端软件。
| 功能 / 类型 | 手动代理设置(Windows 设置) | 自动代理设置(PAC 文件) | 应用级设置 |
|---|---|---|---|
| HTTP 代理 | 支持 | 支持(通过 PAC 脚本逻辑) | 支持 |
| HTTPS 代理 | 支持 | 支持(通过 PAC 脚本逻辑) | 支持 |
| SOCKS4 代理 | 不直接支持 | 有限(PAC 脚本可指向,但客户端未必支持) | 通常支持 |
| SOCKS5 代理 | 不直接支持 | 有限(PAC 脚本可指向,但客户端未必支持) | 通常支持 |
| 认证 | 系统弹窗进行 basic auth | 由代理服务器处理 | 视应用而定 |
| 动态路由 | 否 | 是 | 视应用而定 |
| 集中管理 | 否 | 是 | 否 |
常见代理配置问题排查
- 代理地址/端口错误: 仔细核对 IP 地址或主机名和端口号。这是常见错误。
- 代理服务器不可达: ping 代理服务器 IP 以确认网络连通性。确认服务器上的代理服务正在运行。
- 防火墙拦截: 确认没有本地或网络防火墙阻断到代理服务器 IP 和端口的连接。
- 认证失败: 如果代理要求认证,请确认提供了正确的凭据。如果根本没有弹出凭据提示,请检查代理配置。
- PAC 文件错误: 检查 PAC 文件 URL 是否有拼写错误。确认托管 PAC 文件的 Web 服务器可访问。用 JavaScript linter 或浏览器开发者工具检查 PAC 文件是否有语法错误。
- DNS 解析问题: 如果使用代理时 DNS 解析失败,可能是代理服务器本身有 DNS 问题,或者它未被正确配置为转发 DNS 请求。
- 应用级冲突: 如果部分应用能上网而另一些不能,请检查无法工作的那个应用内部的代理设置。
- 缓存问题: 有时旧的代理设置被缓存。重启浏览器或系统可能解决。有时还需要清除浏览器缓存。
- SSL/TLS 证书问题: 如果 HTTPS 网站打不开,代理可能在拦截 SSL/TLS 流量。请确认代理服务商要求的根证书已安装到 Windows 证书存储中。
测试代理连通性
配置好代理后,验证其是否正常工作:
- 浏览器测试: 打开浏览器访问
whatismyip.com之类的网站。显示的 IP 地址应当是代理服务器的,而不是您本机的。 curl测试(命令提示符/PowerShell):
cmd curl -x http://proxy.example.com:8080 https://httpbin.org/ip
把http://proxy.example.com:8080换成您自己的代理信息。该命令应返回代理的公网 IP 地址。- 网络诊断: 用
tracert追踪到外部 IP 的路由(例如tracert 8.8.8.8)。这有助于判断流量是否经由代理网络转发。
如何在 Windows 11 上设置 SOCKS5 代理
Windows 10 和 11 没有原生的系统级 SOCKS5 设置——内置的 网络和 Internet → 代理 面板只接受 HTTP/HTTPS 地址。要在 Windows 上使用 SOCKS5 代理,需要把流量交给支持 SOCKS5 的客户端转发。有三种可靠的方法。
方法 1 —— Firefox(原生 SOCKS5,无需额外软件)
Firefox 拥有自己的代理栈,开箱即支持 SOCKS5:
- 打开设置 → 常规 → 网络设置 → 设置…
- 选择手动配置代理。
- 在 SOCKS 主机中填入代理 IP,设置端口,并选择 SOCKS v5。
- 勾选使用 SOCKS v5 时代理 DNS 查询,以防 DNS 泄漏。
- 点击确定。(完整步骤:Firefox 代理设置。)
方法 2 —— 通过启动参数配置 Chrome / Edge
Chromium 系浏览器在界面中不提供 SOCKS 字段,但接受命令行开关:
chrome.exe --proxy-server="socks5://IP:PORT"
浏览器弹出提示时再输入凭据。按配置文件区分的选项请参见完整的 Chrome 代理设置指南。
方法 3 —— 用 proxifier 实现系统级代理
要强制每一个 Windows 应用都走 SOCKS5,请使用 Proxifier 或 ProxyCap 之类的 proxifier。它们会捕获所有出站连接并通过 SOCKS5 隧道转发——这是 Windows 上最接近原生系统级 SOCKS5 的方案。
Windows 上的 SOCKS5 支持 UDP(QUIC / HTTP-3)吗?
大多数 SOCKS5 代理仅支持 TCP,因此基于 UDP 的协议——包括 QUIC(HTTP/3 走 UDP 443 端口)——会静默回退到 TCP。GProxy 的数据中心 SOCKS5 端点支持 SOCKS5 UDP ASSOCIATE,因此支持 UDP 的客户端可以隧道传输 QUIC/HTTP-3 及其他 UDP 流量——这是多数服务商不提供的能力。若需要 sticky 且按地区定位的出口,可以用同一套凭据搭配我们的住宅代理。
常见问题
Windows 11 原生支持 SOCKS5 代理吗?
不支持。内置代理面板只接受 HTTP/HTTPS。请使用 Firefox 的 SOCKS 主机字段,用 --proxy-server="socks5://…" 启动 Chrome,或运行 proxifier 实现系统级覆盖。
在 Windows 上,HTTP 代理和 SOCKS5 代理有什么区别?
HTTP 代理只理解 Web 流量;SOCKS5 与协议无关,可承载任何 TCP 流量——在支持的服务器上还包括 UDP——涵盖电子邮件、游戏和自定义应用。参见 SOCKS5 与 HTTP 代理。
如何在 Windows 上测试 SOCKS5 代理?
在命令提示符或 PowerShell 中运行:
curl --socks5 USER:PASS@IP:PORT https://httpbin.org/ip
返回的 IP 地址应当是代理的,而不是您自己的。
一个 SOCKS5 代理能覆盖所有应用吗?
仅靠 Windows 设置做不到——请用 proxifier(Proxifier/ProxyCap)为整个系统做路由,或逐个应用单独配置。
准备好在 Windows 上试用 SOCKS5 了吗? 从 GProxy 获取 SOCKS5 代理——数据中心、ISP 和住宅 IP,支持 HTTP(S) + SOCKS5,数据中心线路支持 UDP,按量付费。
