搭配宝塔BT面板,实现V2Ray的 Websocket+TLS+Nginx 分流
本文最后更新于:2022年7月6日 晚上
事前准备
一台VPS(系统Ubuntu 16.04),一个域名(提前做好解析),SSH工具
部署过程
安装V2Ray
SSH连接上远程VPS后,首先执行官方安装脚本:
bash <(curl -L -s https://install.direct/go.sh)
在安装完V2Ray之后,修改配置文件重启V2Ray即可,配置文件路径为
/etc/v2ray/config.json
以下是V2Ray使用的命令:
1 |
|
安装宝塔BT面板
根据VPS具体系统选择相应一键安装脚本,本教程以 Ubuntu 16.04为例:
wget -O install.sh http://download.bt.cn/install/install-ubuntu.sh && sudo bash install.sh
安装完成后,记录终端自动生成的账户密码,然后浏览器登录BT面板操作,建议初次登陆后修改用户名和密码。
安装LNMP环境+Nignx配置
登录BT面板后,可一键部署源码,选择安装LNMP环境;
一切都安装完后,点击「网站」——「添加站点」
成功添加完站点后,点击「设置」—— SSL —— Let’s Encrypt,成功申请SSL后,保存
再点击站点「设置」的「配置文件」选项,在ssl最后一个}前添加如下代码:
location /ws {
proxy_redirect off;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $http_host;
proxy_intercept_errors on;
if ($http_upgrade = "websocket" ){
proxy_pass http://127.0.0.1:****; #自定义端口,与下同
}
}
回到「首页」,重启「Nignx服务」
BT面板「安全」,防火墙端口放行,新增你的V2Ray端口
修改V2Ray配置文件
打开面板「文件」,在路径中输入“/etc/v2ray”,编辑以下文件,并保存
{
"log" : {
"access": "/var/log/v2ray/access.log",
"error": "/var/log/v2ray/error.log",
"loglevel": "info"
},
"inbounds": [
{
"port": 0000, #v2Ray访问端口,自定义
"listen":"127.0.0.1",
"protocol": "vmess",
"allocate": {
"strategy": "always"
},
"settings": {
"clients": [
{
"id": "UUID", #自定义UUID
"alterId": 64,
"level": 1,
"security": "aes-cfb-128" #自定义加密方式
}
]
},
"streamSettings": {
"network":"ws",
"wsSettings": {
"connectionReuse": false,
"path": "/ws/" #自定义路径
}
}
}
],
"outbounds": [
{
"protocol": "freedom",
"settings": {}
}
],
"outboundDetour": [
{
"protocol": "blackhole",
"settings": {},
"tag": "blocked"
}
],
"routing": {
"strategy": "rules",
"settings": {
"rules": [
{
"type": "field",
"ip": ["geoip:private"],
"outboundTag": "blocked"
}
]
}
}
}
重启V2Ray服务
1 |
|
安装加速
- 开启CDN,推荐CloudFlare
- 优点:隐藏真实IP地址
- 缺点:国内解析速度较慢,会影响速度
- 安装BBR:推荐一键安装最新内核并开启BBR脚本
客户端使用
关于不同客户端的选择,请直接参考V2Ray官方总结
总结
通过 Websocket+TLS+Nginx 能够在最大程度上隐藏VPS的地址,同时伪装成正常的网站访问,从而降低IP被Ban的风险;通过这个方法,同样也能够使已经被封的IP重新使用。