前言
本文记录了在阿里云海外服务器上搭建自己的代理服务的完整过程,使用 Xray + VLESS + Reality 协议。包括实际遇到的所有坑点和解决方案。
为什么选择自建?
- 完全掌控,不受第三方限制
- 独享带宽,速度稳定
- 隐私安全,数据不经过他人
- 成本可控,按需付费
技术栈:
- 服务器:阿里云海外 Ubuntu 24.04
- 代理工具:Xray v26.3.27
- 协议:VLESS + XTLS-Reality
- 客户端:FlClash (macOS)
第一步:准备服务器
购买阿里云海外服务器
- 登录阿里云控制台
- 选择 ECS 云服务器
- 地区选择:香港/新加坡/日本(延迟低)
- 系统:Ubuntu 24.04 LTS
- 配置:最低 1核2G 即可
- 带宽:按需选择,建议至少 5Mbps
记录服务器信息:
- 公网 IP
- 登录密码
安全组配置
在阿里云控制台配置安全组规则:
| 协议 | 端口 | 源地址 | 说明 |
|---|---|---|---|
| TCP | 22 | 0.0.0.0/0 | SSH 管理 |
| TCP | 443 | 0.0.0.0/0 | Xray 代理 |
第二步:服务器端配置
连接服务器
1 | ssh root@你的服务器IP |
Mac 用户自动化登录(可选):
创建 expect 脚本 ssh-login.sh:
1 |
|
使用方法:
1 | chmod +x ssh-login.sh |
安装 Xray
使用官方一键安装脚本:
1 | bash -c "$(curl -L https://github.com/XTLS/Xray-install/raw/main/install-release.sh)" @ install |
验证安装:
1 | xray version |
生成密钥对
Xray Reality 需要一对公私钥:
1 | xray x25519 |
输出示例:
1 | Private key: QI6nmwo4Qb14m3_kKHxl1W3BFUkoAa05tpe8S7jlHXQ |
保存好这两个密钥!
生成 UUID
1 | xray uuid |
保存输出的 UUID。
配置 Xray
编辑配置文件:
1 | nano /usr/local/etc/xray/config.json |
粘贴以下内容(替换你自己的密钥和 UUID):
1 | { |
配置说明:
port: 443:使用 HTTPS 端口,不易被封protocol: vless:轻量级协议flow: xtls-rprx-vision:启用 XTLS 加速dest: www.microsoft.com:443:伪装目标,看起来像在访问微软shortIds:自定义短 ID,可以随意设置
保存文件(Ctrl+O,Enter,Ctrl+X)。
设置权限并启动
1 | chmod 644 /usr/local/etc/xray/config.json |
验证运行状态:
1 | systemctl status xray |
应该看到 active (running) 和 Xray 在监听 443 端口。
第三步:客户端配置(macOS)
安装 FlClash
- 下载 FlClash:https://github.com/chen08209/FlClash/releases
- 安装到应用程序文件夹
- 打开 FlClash,允许系统权限
创建配置文件
创建文件 aliyun_proxy.yaml:
1 | proxies: |
导入到 FlClash
打开 FlClash → 配置 → 添加 → 从文件导入 → 选择 aliyun_proxy.yaml
选择节点
- 点击菜单栏 FlClash 图标
- 代理 → 🚀 节点选择
- 选择 “🇨🇳 Aliyun”
第四步:测试连接
浏览器测试
- 访问 https://www.google.com
- 搜索 “what is my ip”
- 确认显示的是服务器 IP
测试 AI 服务
- DeepSeek: https://chat.deepseek.com
- ChatGPT: https://chat.openai.com
- Claude: https://claude.ai
确认国内网站直连
访问 https://www.baidu.com,应该显示你的真实 IP(不走代理)。
踩坑点总结 ⚠️
坑点 1:FlClash 不支持直接导入 vless:// 链接
问题:尝试用 vless:// 格式的链接导入时,FlClash 提示”要网址格式”。
解决方案:创建 YAML 配置文件,通过”从文件导入”。
坑点 2:TUN 模式 vs 系统代理模式
问题:命令行工具(curl)无法通过代理访问,但浏览器可以。
原因:
- TUN 模式(虚拟网卡):直接接管系统网络流量,不监听代理端口
- 系统代理模式:监听端口(如 7890),需要应用主动连接
解决方案:
- 如果主要用浏览器:推荐 TUN 模式
- 如果需要命令行工具走代理:切换到系统代理模式
坑点 3:Reality 协议的 Public Key 计算
问题:服务器配置文件中只有 privateKey,客户端需要 public-key。
解决方案:
1 | # 在服务器上执行 |
坑点 4:配置文件修改后不生效
问题:修改了配置文件,但 FlClash 还是用旧配置。
解决方案:
- 在 FlClash 界面切换到其他配置再切回来
- 或点击配置文件旁边的刷新按钮
常见问题
Q1: 连接失败怎么办?
检查服务器端:
1 | systemctl status xray # 确认服务运行 |
检查防火墙:
1 | ufw status # 如果启用了,需要开放 443 端口 |
检查阿里云安全组:
- 确保 443 端口对外开放
Q2: 速度慢怎么办?
- 更换服务器地区(选择离你更近的)
- 升级带宽
- 更换伪装域名(dest 参数)
Q3: 如何更新 Xray?
1 | bash -c "$(curl -L https://github.com/XTLS/Xray-install/raw/main/install-release.sh)" @ install |
Q4: 如何查看日志?
1 | journalctl -u xray -f |
安全建议
定期更新系统:
1
apt update && apt upgrade -y
修改 SSH 端口:
1
2
3nano /etc/ssh/sshd_config
# 修改 Port 22 为其他端口
systemctl restart sshd禁用密码登录,使用密钥:
1
2
3ssh-keygen -t ed25519
ssh-copy-id root@你的服务器IP
# 然后在 sshd_config 中设置 PasswordAuthentication no定期更换 UUID 和密钥:
- 每 3-6 个月更换一次
- 同时更新服务器和客户端配置
监控流量:
1
2apt install vnstat
vnstat -l # 实时流量监控
总结
通过本文,你已经成功搭建了自己的代理服务器!
优势:
- ✅ 独享带宽,速度稳定
- ✅ 隐私安全,数据加密
- ✅ 完全掌控,随时调整
- ✅ Reality 伪装,不易被检测
后续优化:
- 配置 CDN 加速
- 多端口负载均衡
- 自动化监控告警
- 流量统计分析
参考资料
- Xray 官方文档:https://xtls.github.io/
- Reality 协议说明:https://github.com/XTLS/REALITY
- FlClash 项目:https://github.com/chen08209/FlClash
- 阿里云 ECS:https://www.aliyun.com/product/ecs
免责声明: 本教程仅供技术学习交流使用,请遵守当地法律法规。