Update:到了2021年了,在有TLS加密的前提下,更推荐使用VLESS。本文将稍作修改,图片部分未作修改,只做参照,请以文字部分为准。
宝塔面板推荐使用国际版:https://www.aapanel.com/index.html ,英文版没那么多弯弯绕,都是些简单单词。
一、安装配套环境
参考宝塔官网安装好宝塔面板,宝塔省事,自带流量统计,便于管理。推荐系统CentOS7,利用面板安装好Nginx(必须!)、PHP(推荐,用于前台伪网站)和Docker管理器(必须!)

打开Docker管理器,拉取下载XRay Docker镜像,输入teddysun/xray 获取镜像。

二、配置Docker参数
在宝塔面板的文件界面,新建目录/etc/xray,在新目录新建文件config.json,添加如下内容:
{
"log": {
"loglevel": "warning"
},
"inbounds": [{
"port": 12345,
"listen": "127.0.0.1",
"protocol": "vless",
"settings": {
"clients": [{
"id": "你自己的UUID",
"level": 0,
"email": "[email protected]"
}],
"decryption": "none"
},
"streamSettings": {
"network": "ws",
"security": "none",
"wsSettings": {
"path": "/data" }
}
}],
"outbounds": [{
"protocol": "freedom",
"settings": {}
}]
}
记得保存!Port转发端口自己定义,UUID需要自己定义,Path路径(一定要自己改成复杂的)需要和Nginx网站配置对应。
UUID可在这个链接网站生成。
三、添加网站,配置Nginx转发
- 添加网站 v2.abc.xyz(例,请根据实际),添加DNS A解析至本服务器。
- 进入宝塔的网站管理,打开配置文件,添加如下配置,共两段:
# 定义变量
map $http_upgrade $connection_upgrade {
default upgrade;
'' close;
}
location /data { # 与 XRay 配置中的 path 保持一致
proxy_redirect off;
proxy_pass http://127.0.0.1:12345; #设置WebSocket监听在环回地址的12345端口上
proxy_http_version 1.1;
proxy_connect_timeout 30s;
proxy_send_timeout 60s;
proxy_read_timeout 60s;
proxy_buffer_size 32k;
proxy_set_header Host $http_host;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;}

四、添加CA证书,启用TLS加密
进入上图所示的SSL界面,申请Let's Encrypt证书,利用DNS验证,添加TXT解析,解析生效后宝塔会自动部署证书,推荐打开强制HTTPS。
结果如下:

五、启动Docker
在终端中运行:
docker run -d --net=host --name xray --restart=always -v /etc/xray:/etc/xray teddysun/xray
输入docker ps -as 查看运行状态,运行成功后即服务器端部署完成。
同时可以浏览器打开 v2.abc.xyz/data , 正常会显示Bad Request
六、后话及客户端设置(WS 0-RTT)
推荐在该网站下部署Nextcloud或可道云(推荐),增加伪装还能存点东西,挺好。
如果需要CDN的话,只需在Cloudflare的DNS解析中打开Proxy Status的绿云即生效。
客户端配置,如图,类型请更换成VLess,服务器为网站域名,端口443,UUID为之前自定义的,勾选TLS,传输方式选择选Websocket,进入子菜单,填入之前设定的路径/data?ed=2048 即可开启WS 0-RTT。

文章评论
?ed=2048
是啥作用?
@pcvc 0-RTT
的