本地端口被占用、代理端口无法启动怎么办?

Clash 客户端通常会启动 HTTP、SOCKS、mixed-port 和 external-controller 端口,端口冲突会导致系统代理或控制面板异常。

  • 代理模式与系统代理
  • 故障排查
简要回答

Clash 客户端通常会启动 HTTP、SOCKS、mixed-port 和 external-controller 端口,端口冲突会导致系统代理或控制面板异常。 结束重复进程或修改对应端口,并同步更新系统代理、应用代理和 Dashboard;重启后确认该错误不再出现。

address already in use 对应哪个端口

从日志中的 address already in use 读取端口号,再用客户端进程列表确认是旧实例、另一个代理工具还是 Dashboard 占用。

  • 日志是否出现 address already in use
  • 本地 HTTP、SOCKS、mixed-port 是否重复
  • external-controller 端口是否和其他服务冲突
  • 多个 Clash 客户端是否同时运行

关闭重复进程或同步更换端口

  1. 关闭重复运行的 Clash 客户端或旧进程
  2. 在客户端设置里更换本地代理端口
  3. 更换 external-controller 端口后同步修改 Dashboard 或客户端连接配置(参见 外部控制设置
  4. 重新启动客户端并确认日志无端口占用错误

不要把 external-controller 暴露到公网(参见 安全 FAQ

更改端口后系统代理和应用代理也要同步

保留一套主客户端,减少多个客户端互相覆盖系统代理