v2-ui怎么配合宝塔nginx实现vmess+websocks+tls

v2-ui是一个可视化v2ray管理面板,带流量统计功能,非常适合一台服务器多人共用的情形下使用,并且其默认屏蔽了BT,起到了一定的防范个别用户乱搞导致版权投诉的问题。

v2-ui单独设置v2ray非常好用,但如果你的服务器上也安装了web server,如nginx,就会比较麻烦,因为v2ray和nginx只能二选一监听443端口。当然,你也可以选择让v2ray监听非标准HTTPS端口,但这又会造成v2ray的流量看起来不像正常的流量的后果,因为几乎没有正常的站点会使用非标准HTTPS端口。

正规的做法应该是让v2ray使用websocks(ws 下同)传输,监听本地端口,nginx反代此端口,这样就不会造成443端口冲突了,你的webserver也可以正常使用。

下面把这个流程简单说一遍。

1 安装宝塔

2 安装v2-ui

bash <(curl -Ls https://blog.sprov.xyz/v2-ui.sh)

如果提示curl命令不存在,你需要安装一下 apt update && apt install curl -y ( debian或ubuntu) ; yum update && yum install curl -y (centos) ,注意如果先前已经安装了v2ray,安装v2-ui会重置v2ray的配置文件,如果需要请备份一下配置文件 cp /etc/v2ray/config.json /etc/v2ray/config.json.bak 再执行安装命令;注意安装了宝塔之后v2-ui的65432端口会被防火墙封禁,要去bt后台放行此端口。

3 宝塔添加站点 (注意你还需要做好域名解析

4 为站点申请SSL证书

5 v2-ui设置

  1. 更改管理用户名及密码
  2. 更改v2-ui管理后缀更改v2-ui配置注意更改根路径后需要重启v2-ui 命令为 v2-ui restart
  3. 新建用户新建v2ray用户这里只需要更改一项,把传输配置更改为ws即可!路径可自定义,不必和我的一样;监听IP默认为0.0.0.0 可改可不改,更改为127.0.0.1即只允许nginx反代而不允许直接连接。

6 nginx设置

在站点配置文件适当位置添加如下配置项

location ^~ /v2-ui {
    proxy_pass http://127.0.0.1:65432/v2-ui;
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}

location /abs {
        proxy_redirect off;
        proxy_pass http://127.0.0.1:53964;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        proxy_set_header Host $http_host;
        proxy_read_timeout 300s;

        # Show realip in v2ray access.log
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  }

nginx设置

注意 /v2-ui前面需要加 ^~ 设置为正则匹配,要不会和宝塔默认的js缓存规则冲突导致v2-ui后台js文件全部404,后台一片空白。

后续

注意这样设置会使v2-ui后台的二维码和分享链接无法直接使用,导入后必须手动服务器地址为你的域名或者IP,更改端口为443,开启TLS并填入你的域名及path。

后续可以通过IP:65432/path 或 https://域名/path 访问v2-ui后台,建议可以把65432端口用防火墙封禁掉只通过域名HTTPS访问。

发表评论

电子邮件地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据