这几天国际联网线路出现大范围的丢包或干扰,使用 v2 + ws + tls 貌似可以应对这种情况。
1.安装 V2Ray
先使用官方脚本安装,以后升级只需重复执行此命令。
bash <(curl -L https://raw.githubusercontent.com/v2fly/fhs-install-v2ray/master/install-release.sh)
新安装完会提示两行,一个端口,一个 uuid,记不记都可以。
官方脚本默认支持 vmess,下一步需要编辑修改 v2 的服务端配置,让支持 ws 和 tls,post 和 id 改成上面的,也可以自己定义,不建议直接搬运下面的,id 相当于密码,还得用你自己的,下面 path 是目录,这里不设。
nano /usr/local/etc/v2ray/config.json
{
"inbounds": [
{
"port": 12345,
"listen":"127.0.0.1",
"protocol": "vmess",
"settings": {
"clients": [
{
"id": "6768f908-d39f-424f-b3e7-c1b6b10fdf72",
"alterId": 64
}
]
},
"streamSettings": {
"network": "ws",
"wsSettings": {
"path": "/"
}
}
}
],
"outbounds": [
{
"protocol": "freedom",
"settings": {}
}
]
}
改过配置,就要重启一下 v2
systemctl restart v2ray
最好也顺手查看下状态,有没有报错
systemctl status v2ray
2.安装caddy
用 caddy 申请证书和反代。如果服务器之前安装过 nginx ,那么需要将其关闭或卸载,因为 nginx 会占用 80 和 443 端口,和 caddy 产生端口冲突。
apt install -y debian-keyring debian-archive-keyring apt-transport-https
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/gpg.key' | gpg --dearmor -o /usr/share/keyrings/caddy-stable-archive-keyring.gpg
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/debian.deb.txt' | tee /etc/apt/sources.list.d/caddy-stable.list
apt update
apt install caddy
找到caddy配置文件目录
cd /
sudo find / -name Caddyfile
vi /etc/caddy/Caddyfile
修改配置如下:
v2ray.wolfmark.org:443 {
root * /caddyweb
# /caddyweb 是网站根目录
file_server
log {
output file /var/log/caddy/caddy.log
#日志目录
}
tls abc@abc.com
# 申请ssl的邮箱
tls {
protocols tls1.2 tls1.3
ciphers TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384 TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256
}
@websockets {
path /v2ray
# 和v2ray的path保持一致
header Connection Upgrade
header Upgrade websocket
}
reverse_proxy @websockets 127.0.0.1:12345
# ghostxiu edit 2022.4.16 https://x.wolfmark.org
}
给caddy用户目录的执行权限
chown -R caddy:caddy /etc/caddy/
新建caddy日志文件
touch /var/log/caddy/caddy.log
chown -R caddy:caddy /var/log/caddy/caddy.log
启动caddy 并支持开机启动
systemctl restart caddy && systemctl status caddy
在/caddyweb 目录下新建index.html,测试网页是否正常运行
mkdir /caddyweb
vi /caddyweb/index.html
写入 hallo world
输入:wq 保存
授权给caddy用户
chown -R caddy:caddy /caddyweb
至此caddy配置完成,如果只是作为静态页面服务器,则可以止步于此
3.客户端设置
地址:就是你的域名,端口是 443,ID 是你上面那一串,额外 ID 是 0,传输协议是 ws,其它默认,最下面底层传输安全记得把 tls 选上。完事。
via: v2-ws-tls教程就三步