# VLESS 代理服务部署方案

> 服务器：Ubuntu 24.04 / Nginx 1.24 / Xray v26.3.27
> 服务器公网 IP：95.181.189.99
> 代理域名：vless.devinbo.cc（DNS Only，不经过 Cloudflare）

---

## 一、架构

```
客户端 (VLESS Client)
    │
    │  WSS (WebSocket over TLS)
    ▼
┌─────────────────────────────────────┐
│  Nginx :443 (TLS termination)       │
│  vless.devinbo.cc                  │
│  location /vless → Xray:10001       │
└──────────────┬──────────────────────┘
               │ HTTP (本地回环)
               ▼
┌─────────────────────────────────────┐
│  Xray-core :127.0.0.1:10001         │
│  协议: VLESS + WebSocket            │
│  路径: /vless                        │
│  出站: freedom (直连)               │
└─────────────────────────────────────┘
```

---

## 二、当前部署状态（已完成）

- [x] Xray v26.3.27 已安装，服务运行中（systemctl active）
- [x] SSL 证书已申请（Let's Encrypt，到期 2026-10-06，自动续期）
- [x] Xray 配置完成（VLESS + WebSocket，监听 127.0.0.1:10001）
- [x] Nginx vless-proxy vhost 已配置并启用
- [x] Xray 监听 127.0.0.1:10001 正常
- [x] Nginx 监听 443 正常

## 三、待你完成的一步操作

### 在 Cloudflare 添加 DNS 记录

登录 Cloudflare → devinbo.cc 域名 → DNS 设置，添加：

| 类型 | 名称 | 内容 | 代理状态 |
|------|------|------|----------|
| A | vless | 95.181.189.99 | DNS Only (灰云) |

**关键**：必须设为灰云（DNS Only），不能是橙云（Proxied）。
否则 Cloudflare 会拦截 WebSocket 流量并产生重定向循环。

添加后等 1-2 分钟 DNS 生效即可使用。

---

## 四、客户端配置

### 连接参数

| 参数       | 值                              |
|------------|---------------------------------|
| 协议       | VLESS                           |
| 地址       | vless.devinbo.cc               |
| 端口       | 443                             |
| UUID       | a89b6286-eb71-4d91-a1e4-983c080a022c |
| 传输协议   | WebSocket (ws)                  |
| 路径       | /vless                          |
| 底层加密   | TLS                             |
| SNI        | vless.devinbo.cc               |
| 允许不安全 | false                           |

### VLESS 分享链接

```
vless://a89b6286-eb71-4d91-a1e4-983c080a022c@vless.devinbo.cc:443?encryption=none&security=tls&sni=vless.devinbo.cc&type=ws&host=vless.devinbo.cc&path=%2Fvless#VLESS-zejun
```

### 推荐客户端

| 平台    | 客户端                          |
|---------|--------------------------------|
| Windows | v2rayN, Nekoray                |
| macOS   | V2RayU, Clash Verge Rev        |
| Android | v2rayNG, Nekobox               |
| iOS     | Shadowrocket (付费), Streisand |

---

## 五、关键文件清单

| 用途             | 路径                                    |
|------------------|-----------------------------------------|
| Xray 配置        | /usr/local/etc/xray/config.json         |
| Xray 日志        | /var/log/xray/                          |
| Nginx 代理 vhost | /etc/nginx/sites-available/vless-proxy  |
| SSL 证书         | /etc/letsencrypt/live/www.devinbo.cc/  |
| Nginx 备份       | /etc/nginx/sites-available/zejun-space-docs.bak |

---

## 六、运维命令

```bash
# 重启 Xray
systemctl restart xray

# 查看 Xray 日志
journalctl -u xray --no-pager -n 50
tail -f /var/log/xray/access.log

# 查看 Nginx 代理日志
tail -f /var/log/nginx/vless-proxy.access.log

# 检查证书到期
certbot certificates

# 检查连接数
ss -tnp | grep 10001 | wc -l
```

---

## 七、安全说明

- Xray 只监听 127.0.0.1:10001，外部无法直连
- routing 规则阻止访问内网 IP（geoip:private → block）
- vless.devinbo.cc 非代理路径返回 404，不暴露信息
- SSL 证书自动续期
- 建议后续开启 BBR 加速（见下方）

### BBR 加速（可选）

```bash
echo "net.core.default_qdisc=fq" >> /etc/sysctl.conf
echo "net.ipv4.tcp_congestion_control=bbr" >> /etc/sysctl.conf
sysctl -p
```

---

## 八、回滚方案

```bash
# 停止 Xray
systemctl stop xray && systemctl disable xray

# 移除 Nginx vless-proxy
rm /etc/nginx/sites-enabled/vless-proxy
nginx -t && systemctl reload nginx

# 在 Cloudflare 删除 vless 的 A 记录
```
