X-ui是一个可视化Xray管理面板,带流量统计功能,非常适合一台服务器多人共用的情形下使用,并且其默认屏蔽了BT,起到了一定的防范个别用户乱搞导致版权投诉的问题。
X-ui单独设置Xray非常好用,但如果你的服务器上也安装了web server,如nginx,就会比较麻烦,因为Xray和nginx只能二选一监听443端口。当然,你也可以选择让Xray监听非标准HTTPS端口,但这又会造成Xray的流量看起来不像正常的流量的后果,因为几乎没有正常的站点会使用非标准HTTPS端口。
正规的做法应该是让Xray使用websocks(ws 下同)传输,监听本地端口,nginx反代此端口,这样就不会造成443端口冲突了,你的webserver也可以正常使用。
下面把这个流程简单说一遍。
1 安装宝塔
2 安装X-ui
bash <(curl -Ls https://raw.githubusercontent.com/vaxilu/x-ui/master/install.sh)
如果提示curl命令不存在,你需要安装一下
apt update && apt install curl -y #( debian或ubuntu)
yum update && yum install curl -y #(centos)
注意如果先前已经安装了Xray,安装X-ui会重置Xray的配置文件,如果需要请备份一下配置文件
cp /etc/Xray/config.json /etc/Xray/config.json.bak
再执行安装命令;注意安装了宝塔之后X-ui的54321端口会被防火墙封禁,要去bt后台放行此端口。
3 宝塔添加站点 (注意你还需要做好域名解析)
4 为站点申请SSL证书
5 X-ui设置
1.更改管理用户名及密码
2.更改X-ui管理后缀
注意更改根路径后需要重启面板
3.新建用户
这里只需要更改一项,把传输配置更改为ws即可!路径可自定义,不必和我的一样;监听IP默认为0.0.0.0 可改可不改。这里我更改为127.0.0.1 即只允许nginx反代而不允许直接连接。
6 nginx设置
在站点配置文件适当位置添加如下配置项
location ^~ /X-ui {
proxy_pass http://127.0.0.1:54321/X-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 /ions {
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 Xray access.log
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
注意 /X-ui前面需要加 ^~ 设置为正则匹配,要不会和宝塔默认的js缓存规则冲突导致X-ui后台js文件全部404,后台一片空白。
后续
注意这样设置会使X-ui后台的二维码和分享链接无法直接使用,导入后必须手动服务器地址为你的域名或者IP,更改端口为443,开启TLS并填入你的域名及path。
后续可以通过IP:54321/path 或 https://域名/path 访问X-ui后台,建议可以把54321端口用防火墙封禁掉只通过域名HTTPS访问。
评论(0)