目的

在服务器搭建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更容易排查问题,先跑通再优化