这几天国际联网线路出现大范围的丢包或干扰,使用 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教程就三步