追云加速 发布页

macOS Catalina 代理设置:旧版入口、HTTP/SOCKS 选择与恢复方法

更新于 2026-11-08 · zhuiyunjiasu.shop

简答:macOS Catalina 10.15 的系统代理入口是:打开“系统偏好设置”→“网络”→选择 Wi-Fi 或以太网→“高级”→“代理”。先确认代理类型、服务器地址、端口和认证方式,再只启用服务端要求的选项;设置后用 networksetup 查看状态、用 curl 做实际请求测试。若无法上网,先关闭 HTTP、HTTPS、SOCKS、PAC 和自动发现,恢复直连后再逐项启用。本文为通用技术整理。

定义:macOS Catalina 代理设置,是在某个网络服务中配置 HTTP、HTTPS、SOCKS 或 PAC,让支持相应方式的应用通过代理服务器连接网络。

先看结论:Catalina 代理入口和最快设置方法

在 macOS Catalina 10.15 中,先打开系统偏好设置 → 网络,选择当前正在使用的Wi-Fi或以太网,点击高级 → 代理。Catalina 使用旧版“系统偏好设置”界面,不要套用新版 macOS 的“系统设置 → 网络 → 详细信息”路径。

Apple 的代理说明将自动发现、PAC、HTTP、HTTPS 和 SOCKS 列为不同设置项;当前官方文档可参考Apple:在 Mac 上输入代理服务器设置。界面名称随系统版本不同,但代理地址、端口、认证和绕过规则的含义相同。

你拿到的配置Catalina 中选择填写方式
HTTP 代理网页代理(HTTP)填写服务器地址和端口;按要求填写账号密码
HTTPS 代理安全网页代理(HTTPS)仅在服务端明确提供 HTTPS 代理时启用
SOCKS 代理SOCKS 代理填写 SOCKS 服务器地址和端口
PAC 地址自动代理配置将 PAC 文件 URL 填入 URL 栏
局域网自动发现自动发现代理仅在网络管理员或配置说明要求时启用

最短做法:不要按目标网站是否使用 HTTPS 来决定是否勾选“HTTPS 代理”。HTTP、HTTPS 是代理服务类型,是否启用取决于代理服务端提供的配置;SOCKS 也不能直接当作 HTTP 代理填写。

macOS Catalina 代理设置步骤

  1. 点击左上角苹果菜单,打开系统偏好设置,进入网络。
  2. 在左侧选择当前实际联网的服务,例如Wi-Fi或以太网。如果两者都要使用,必须分别检查和配置。
  3. 点击高级,再打开代理标签页。
  4. 根据配置资料,只勾选对应的 HTTP、HTTPS 或 SOCKS 代理类型,填写服务器地址和端口。
  5. 如果代理要求认证,启用“代理服务器需要密码”,再输入用户名和密码。不要将含密码的配置截图或写入公开脚本。
  6. 如果拿到的是 PAC 文件地址,勾选自动代理配置并填写 URL;不要把 PAC 地址填入普通代理服务器地址栏。
  7. 点击好,再点击应用,关闭并重新打开受影响的应用。

Safari 的代理入口会跳转到系统网络设置。Catalina 中可按Safari → 偏好设置 → 高级 → 代理旁的更改设置进入;Apple 当前 Safari 指南同样说明“更改设置”会打开网络设置,可参考Apple:在 Mac 上通过 Safari 设置代理服务器。

HTTP、HTTPS、SOCKS 和 PAC 到底怎么选

HTTP 代理、HTTPS 代理和SOCKS 代理是不同的代理类型,不是根据网页地址的协议自动决定。访问 HTTPS 网站,并不代表必须启用“安全网页代理(HTTPS)”;必须以代理服务端给出的类型、地址和端口为准。

  • 只提供 HTTP:先只启用网页代理(HTTP),完成实际请求测试。
  • 同时提供 HTTP 和 HTTPS:按服务端说明分别填写,不能只因地址相同就自行推断两个选项都必须开启。
  • 只提供 SOCKS:只启用 SOCKS 代理,不要将 SOCKS 端口填进 HTTP 或 HTTPS。
  • 提供 PAC URL:使用自动代理配置,避免同时开启多个手动代理造成判断混乱。
  • 有绕过列表:只加入确实不应走代理的主机或域名,排查时可暂时记录并清空后对比。

Apple 的官方说明列出了 HTTP、HTTPS、SOCKS、PAC、自动发现和绕过主机域名等选项,可参考Apple:在 Mac 上更改代理设置。

配置完成后怎么验证:状态、请求、端口和 DNS

不要只看代理复选框是否勾选。建议按下面顺序验证,先确认系统状态,再做真实请求,最后区分端口、应用和 DNS 问题。

检查目标命令或动作成功信号
网络服务名称networksetup -listallnetworkservices找到当前使用的 Wi-Fi 或以太网名称
HTTP 状态networksetup -getwebproxy "Wi-Fi"显示当前服务的启用状态、服务器和端口
HTTPS 状态networksetup -getsecurewebproxy "Wi-Fi"显示安全网页代理状态
SOCKS 状态networksetup -getsocksfirewallproxy "Wi-Fi"显示 SOCKS 代理状态
实际 HTTP 请求curl -I --max-time 10 -x http://代理地址:端口 https://example.com返回 HTTP 响应或明确的连接错误,而不是无限等待
直连对照curl -I --max-time 10 --noproxy "*" https://example.com与代理请求结果对照,区分代理问题和本地网络问题
端口监听nc -vz -w 5 代理地址 端口在系统提供 nc 且网络允许时,能够建立 TCP 连接
当前 DNS 配置scutil --dns | grep nameserver看到当前解析器地址;这只能查看配置,不能单独证明不存在 DNS 泄漏

Apple 说明 networksetup 可列出网络服务并查看或配置网络设置,可参考Apple:networksetup 说明。curl 官方文档说明 -x 用于指定代理,--noproxy 可绕过代理,代理环境变量也会影响请求,可参考curl 官方命令手册。

如果代理地址包含账号密码,不建议直接写进命令行,因为命令可能出现在终端历史或进程信息中。测试完成后应清理历史记录中的敏感内容,并优先使用应用提供的安全认证方式。

Safari、Chrome、Firefox 和终端为什么表现不同

系统代理设置并不等于所有应用都会以同样方式使用代理。浏览器可能读取系统网络设置,也可能由扩展、独立配置或应用策略覆盖;终端工具还可能读取自己的环境变量。

  • Safari:通过系统网络代理设置工作,Safari 的“更改设置”会跳转到网络设置。
  • Chrome:在 macOS 上常见情况是参考系统网络设置,但扩展、启动参数或企业策略可能改变结果,需用实际网页请求验证。
  • Firefox:可能使用自己的连接设置;若系统代理生效而 Firefox 不生效,应检查 Firefox 的连接设置,而不是反复修改 Catalina 系统代理。
  • 终端与 curl:可能读取 http_proxy、HTTPS_PROXY、ALL_PROXY 和 NO_PROXY 等变量。curl 官方资料说明,协议专用变量优先于 ALL_PROXY,NO_PROXY 可让指定主机绕过代理。

先执行下面的只读检查:

env | grep -i proxy

如果系统代理已经关闭但终端仍走代理,检查当前 Shell 会话和启动脚本中的变量;如果系统代理已开启但 curl 不走代理,可用带 -x 的单次命令做对照,不要立即修改长期配置文件。

代理开启后无法上网:按最小风险顺序恢复

  1. 回到系统偏好设置 → 网络 → 当前网络服务 → 高级 → 代理,记录原有设置后,暂时取消 HTTP、HTTPS、SOCKS、自动代理配置和自动发现。
  2. 点击好 → 应用,关闭并重新打开浏览器,再用直连方式访问普通网页。
  3. 如果直连恢复,只重新启用服务端明确要求的一种代理,先核对地址、端口和认证,再做 curl 请求测试。
  4. 如果直连仍失败,执行 networksetup -listallnetworkservices 确认选中的网络服务没有错;再检查 Wi-Fi 或以太网本身是否能正常联网。
  5. 如果只有某个应用失败,检查该应用自己的代理、扩展、环境变量或网络扩展,不要继续修改系统代理。
现象优先检查下一步
所有网页都打不开代理地址、端口、协议和认证关闭全部代理,确认直连后再逐项恢复
Safari 能用,终端不能用环境变量和 curl 参数执行 env | grep -i proxy,再做带 -x 与 --noproxy 的对照
Wi-Fi 能用,以太网不能用网络服务是否分别配置在以太网服务中重新检查代理页面
端口测试失败服务器、端口、防火墙或线路核对服务端配置,不要继续更换浏览器设置
网页能开但解析异常DNS 配置、PAC 或应用规则用 scutil --dns 查看解析器,并做直连与代理请求对照

常见问题

macOS Catalina 代理设置在哪里?

路径是“系统偏好设置 → 网络 → 选择 Wi-Fi 或以太网 → 高级 → 代理”。Catalina 使用旧版系统偏好设置,不是新版 macOS 的“系统设置”。

HTTP、HTTPS 和 SOCKS 代理需要全部勾选吗?

不需要。只勾选代理服务端明确提供的类型。是否同时填写 HTTP 和 HTTPS,不能仅凭端口相同或目标网站使用 HTTPS 来判断。

macOS Catalina 设置代理后无法上网怎么办?

先记录原值,再关闭 HTTP、HTTPS、SOCKS、PAC 和自动发现,点击“应用”恢复直连。如果直连恢复,再逐项启用并核对服务器地址、端口和认证信息。

Safari 能用代理,但终端不能用,是什么原因?

系统代理和终端环境变量属于不同配置层。先执行 env | grep -i proxy,再用 curl 的 -x 参数做单次测试,不要把含密码的代理地址直接写入长期配置。

Wi-Fi 和以太网需要分别设置代理吗?

需要分别检查。代理设置跟随选中的网络服务保存,Wi-Fi 与以太网通常是不同服务,不能假设一个服务的代理设置会自动复制到另一个服务。

用 scutil --dns 能确认没有 DNS 泄漏吗?

不能。该命令只能查看当前系统解析器配置。它适合确认 DNS 是否仍指向预期的解析器;是否存在实际泄漏,还要结合具体应用、代理类型和可控的外部测试环境判断。

继续阅读:从系统代理进入连接排查

如果 Catalina 已经完成系统代理设置,但具体应用仍无法连接,下一步应区分系统代理、网络扩展、DNS 和客户端配置,不要把所有问题都归因于代理地址。

常见问题

macOS Catalina 代理设置在哪里?

路径是“系统偏好设置 → 网络 → 选择 Wi-Fi 或以太网 → 高级 → 代理”。

HTTP、HTTPS 和 SOCKS 代理需要全部勾选吗?

不需要,只启用代理服务端明确提供的类型。访问 HTTPS 网站不代表必须启用 HTTPS 代理。

macOS Catalina 设置代理后无法上网怎么办?

记录原值后暂时关闭 HTTP、HTTPS、SOCKS、PAC 和自动发现,应用设置恢复直连,再逐项启用并核对地址、端口和认证。

Safari 能用代理但终端不能用怎么办?

检查终端环境变量:执行 env | grep -i proxy,再用 curl 的 -x 参数做单次代理请求测试。

Wi-Fi 和以太网需要分别设置代理吗?

需要分别检查,因为代理设置跟随选中的网络服务保存。

scutil --dns 能证明没有 DNS 泄漏吗?

不能。它只能显示当前 DNS 配置,是否存在实际泄漏还要结合应用、代理类型和外部测试环境判断。

相关阅读

参考资料

  1. Apple:在 Mac 上输入代理服务器设置
  2. Apple:在 Mac 上更改代理设置
  3. Apple:在 Mac 上通过 Safari 设置代理服务器
  4. Apple:networksetup 说明
  5. curl:官方命令手册与代理参数说明
  6. curl:代理环境变量说明