Xray X-ui可视化管理面板+宝塔面板 共存 nginx反代实现vless+vmess+websocks+tls
It小小鸟 / 2022-02-16 / Daily / 阅读量 1931

前言
sprov 这位大神开发的这套面板程序,很是方便,可以可视化的搭建SS、V2ray、Xray、Trojan等热门的协议,并且可以实时看到 VPS 的性能状态以及流量的使用情况。
那在经过将近两年的不断更新之后,V2-ui面板,迎来了一个比较大的转折——停止更新了。
sprov 大神又用 GO 语言重新开发了一套面板 X-UI。那这套面板相比原来的 V2-ui,兼容性更强,也便于维护, GO 语言的性能更好,而且内存占用也会相对的低一些。


功能介绍
系统状态监控
支持多用户多协议,网页可视化操作
支持的协议:vmess、vless、trojan、shadowsocks、dokodemo-door、socks、http
支持配置更多传输配置
流量统计,限制流量,限制到期时间
可自定义 xray 配置模板
支持 https 访问面板(自备域名 + ssl 证书)
更多高级配置项,详见该项目的 GitHub:点击访问
101.png


X-ui设置多用户Xray非常好用,但如果服务器上也安装了网站程序,如nginx,就会比较麻烦,
因为Xray和nginx只能二选一监听443端口。如果让Xray监听非标准HTTPS端口,
但这又会造成Xray的流量看起来不像正常的流量的后果。
所以应该是让Xray使用websocks(ws下同)传输,监听本地端口,
nginx反代此端口,这样就不会造成443端口冲突,
网站服务的443也可以正常使用了。


操作流程

一、安装宝塔面板

1、根据宝塔官方说明,按系统选择安装面板
https://www.bt.cn/bbs/thread-19376-1-1.html

2、宝塔安装完毕以后,按自己的需求安装所需的环境插件
102.png

3、宝塔里面添加部署网站
(此网站可先默认空白,后期自己修改,或者使用一键部署现成的网站代码),
并申请SSL证书,开启https

103.png

104.png

108.png


二、安装X-UI面板
1、一键安装代码

bash <(curl -Ls https://raw.githubusercontent.com/vaxilu/x-ui/master/install.sh)

109.png

2、宝塔面板里面放行x-ui端口
找到宝塔面板 —— 安全 —— 防火墙,放行面板的默认端口54321(x-ui默认)

3、访问并设置 x-ui管理面板
在浏览器中输入你的 ip 加端口54321
用户名 admin ,密码 admin

4、X-ui面板修改设置
根据需要修改面板监听端口 和 面板 url 根路径
记好端口和路径(后面修改bt会用到)
110.png

5、添加入站,传输选择ws,端口随机,设置路径(自定义)
记好端口和路径(后面修改bt会用到)
107.png

6、监听IP默认为0.0.0.0 可改可不改,更改为127.0.0.1即只允许nginx反代而不允许直接连接。


三、配置 Nginx 反向代理
宝塔面板找到刚建好的站点, 网站设置 界面,找到 配置文件,在最后一行的 } 符号前面,新起几行,插入以下反代代码

 location ^~ /uuuu/ {
  proxy_pass http://127.0.0.1:54321/uuuu/;
  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 /uu {
  proxy_redirect off;
  proxy_pass http://127.0.0.1:59207;
  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 Xray access.log
  proxy_set_header X-Real-IP $remote_addr;
  proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  }

设置完毕以后,在宝塔面板里面重新启动 Nginx,使配置生效。
注意 /uuuu/前面需要加 ^~ 设置为正则匹配,要不会和宝塔默认的js缓存规则冲突导致X-ui后台js文件全部404,后台一片空白。
113.png


至此,你可以使用 https://xx.xx.xx/uuuu/ 来访问你的 X-ui管理面板了。
然后,宝塔里面放行的端口也可以删除了,也可以提高服务器安全性!

使用这种反代以后,注意这样设置会使X-ui后台的二维码和分享链接无法直接使用,导入后,需要修改两个地方,一个是端口概要改成443,TLS选择:开启,并填入你的域名及path

112.png
111.png