V2Ray使用 WebSocket 传输协议,之后使用 Nginx 或 Caddy 实现 TLS,然后将 WebSocket 流量转发到 V2Ray,实现 WebSocket + TLS 传输协议。
V2Ray 可直接在配置文件中实现 WebSocket + TLS 传输协议,但是也许会因为某些因素,例如 VPS 上要跑一个小博客(已启用 HTTPS),那么很有可能由于 TLS 的原因会跟 WEB 程序在监听端口时发生冲突,这显然不是我们想要的。
所以如果我们想要实现 WebSocket + TLS ,并且还能愉快的跑着一个小博客,那么就要将 TLS 部分放到 WEB 程序里面去实现。
此教程是写给使用了本站提供的 V2Ray 一键安装脚本,并且在选择 WebSocket + TLS 传输协议的时候没有打开自动配置 TLS 的大佬看的。
如果你并没有使用本站提供的 V2Ray 一键安装脚本,所以此教程仅可当作参考。
为了不影响你的现有的配置,下面教程均以你重新配置一个重新的域名为前提
在 Nginx 配置里面增加一个 server
server { listen 443 ssl http2; # 如果你木有添加 HTTP2 模块,请删除 http2 server_name svlik.com; # 将 svlik.com 修改成你的域名 ssl_certificate /home/ssl/svlik.com.crt; # 证书 ssl_certificate_key /home/ssl/svlik.com.key; # 密钥 ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_ciphers HIGH:!aNULL:!MD5; location / { proxy_pass http://localhost:2333; # 2333 为 V2Ray 端口 proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; } }
输入下面的命令可查看到 V2Ray 的端口 (仅可用于使用了本站提供的一键安装脚本)
v2ray info
配置完成后请重启 Nginx
在 Caddyfile 文件添加如下内容
svlik.com { tls myemail@gmail.com proxy / localhost:2333 { websocket } }
将 svlik.com 修改成你的域名,那个邮箱的话随便修改… 2333 修改为 V2Ray 端口。
输入下面的命令可查看到 V2Ray 的端口 (仅可用于使用了本站提供的一键安装脚本)
v2ray info
配置完成后请使用命令:service caddy restart 重启 Caddy
其实…最简单的方法实现 TLS 莫过于使用 CloudFlare 了。