目的
在服务器搭建Clash代理服务端 + Web UI管理面板 + 订阅链接,供客户端翻墙使用
最终方案
┌────────────────┬───────────┬─────────────────────┐
│ 组件 │ 端口 │ 用途 │
├────────────────┼───────────┼─────────────────────┤
│ Clash Premium │ 7890/9090 │ 代理客户端 + API │
├────────────────┼───────────┼─────────────────────┤
│ Yacd Dashboard │ 1234 │ Web管理面板 │
├────────────────┼───────────┼─────────────────────┤
│ Nginx │ 25500 │ 托管订阅配置 │
├────────────────┼───────────┼─────────────────────┤
│ Shadowsocks │ 8388 │ 代理服务端 │
├────────────────┼───────────┼─────────────────────┤
│ Xray │ 443/8443 │ 备用(VLESS+Reality) │
└────────────────┴───────────┴─────────────────────┘
订阅链接:http://xxxxx:25500/config.yaml
难点
1. 架构理解:Clash本身是代理客户端,需要后端代理节点才能真正翻墙
2. 协议选择:VLESS+Reality配置复杂,对客户端要求高
遇到的坑
┌─────────────────────────┬─────────────────────────────────────────────────────────────────────┬────────────────────────────┐
│ 问题 │ 原因 │ 解决 │
├─────────────────────────┼─────────────────────────────────────────────────────────────────────┼────────────────────────────┤
│ Clash启动失败 │ external-ui: dashboard 目录不存在 │ 删除该配置项 │
├─────────────────────────┼─────────────────────────────────────────────────────────────────────┼────────────────────────────┤
│ VLESS+Reality超时 │ 配置复杂/兼容性问题 │ 换SS协议 │
├─────────────────────────┼─────────────────────────────────────────────────────────────────────┼────────────────────────────┤
│ SS authentication error │ docker-compose环境变量值写错,实际用了默认密码ss_password_change_me │ 手动docker run指定正确密码 │
└─────────────────────────┴─────────────────────────────────────────────────────────────────────┴────────────────────────────┘
关键教训
1. **调试优先看日志**:`docker logs` 直接暴露了"authentication error"
2. **环境变量要验证**:用 `docker inspect` 或 `docker top` 确认实际生效的配置
3. **简单协议优先**:SS比VLESS+Reality更容易排查问题,先跑通再优化
搭建个人使用的clash节点,访问github、docker
2026年03月24日 02:14
