在v2ray+ws+tls+web的情况下,不管cloudflare dns有没有开启云朵(proxy),都可以透过address填cf节点ip,ws头部host填域名的方式连接上v2Ray服务器。写这篇的目的是想测试在没有web的情况下使用同一招,让同一个域名既能直连也能通过cdn中转。
地址: cloudflare.com (或1.1.1.1或任何cloudflare节点IP)
端口: web服务器的端口 (通常为443)
tls: 开
不安全连接: 不允许
混淆: websocket
混淆域名: web服务器域名 (一定要写!)
混淆路径: web服务器上反代到v2Ray的路径
有web时,tls证书在web服务器上,v2Ray服务端不需要设定tls。
测试域名test.mydomain.cc
(隐私处理,非真正域名),由cloudflare解析并关闭proxy,tls证书用cloudflare的回源证书(期限7天,测完就删),SSL/TLS encryption mode模式Full (strict)
。用的客户端是Shadowrocket。分别用以下三种客户端设置测试两种服务端config,验证服务端应该怎么配置才正确。
地址: test.mydomain.cc
混淆域名:
混淆路径: /testws
地址: test.mydomain.cc
混淆域名: test.mydomain.cc
混淆路径: /testws
地址: cloudflare.com
混淆域名: test.mydomain.cc
混淆路径: /testws
结果不管服务端有没有加header,以上设置都连得上。
- ws+tls直连时,客户端的
混淆域名
加或不加都无所谓,服务端的wsSettings
的headers
也是加或不加都无所谓 - ws+tls+cf节点连接时,服务端的
wsSettings
的headers
加或不加都无所谓 - ws+tls+cf节点连接时,客户端的
混淆域名
要和服务端tlsSettings
中的serverName
一致,否则cloudflare找不到你的服务器
可以另外注冊一个地址(cf节点分流地址),用智能dns (dnspod/dnsdun/dnsla)做三网分流到cloudflare不同节点,连接address填cf节点分流地址
实现三网分流。三网分流细节详见https://github.com/techphl/v2ray-agent/blob/master/optimize_V2Ray.md (感谢原作者mack-a)
学到了