能否与TLS+CDN配合使用?待实验……
简单地说 HTTP/2 是 HTTP/1.1 的升级版(目前大多数网页还是 HTTP/1.1),点击这里可以直观地体会到 HTTP/2 相比于 HTTP/1.1 的提升(不代表 V2Ray 中 HTTP/2 相对于 TCP 的提升就是这样的)。
V2Ray 的 HTTP/2 还处于测试阶段?
配置
最近几版的 V2Ray 已经开始支持 HTTP/2,可能 v3.12 就支持了,实测 v3.14 能够使用 HTTP/2 了。与其它的传输层协议一样在 streamSettings 中配置。
与其它的传输层协议一样在 streamSettings 中配置,不过要注意的是使用 HTTP/2 要开启 TLS。
服务器配置
{
"inbounds": [
{
"port": 443,
"protocol": "vmess",
"settings": {
"clients": [
{
"id": "b831381d-6324-4d53-ad4f-8cda48b30811",
"alterId": 64
}
]
},
"streamSettings": {
"network": "h2", // h2 也可写成 http,效果一样
"httpSettings": { //此项是关于 HTTP/2 的设置
"path": "/ray"
},
"security": "tls", // 配置tls
"tlsSettings": {
"certificates": [
{
"certificateFile": "/etc/v2ray/v2ray.crt", // 证书文件,详见 tls 小节
"keyFile": "/etc/v2ray/v2ray.key" // 密钥文件
}
]
}
}
}
],
"outbounds": [
{
"protocol": "freedom",
"settings": {}
}
]
}
客户端配置
{
"inbound": [
{
"port": 1080,
"listen": "127.0.0.1",
"protocol": "socks",
"domainOverride": ["tls","http"],
"settings": {
"auth": "noauth",
"udp": false
}
}
],
"outbound": [
{
"protocol": "vmess",
"settings": {
"vnext": [
{
"address": "mydomain.me",
"port": 443,
"users": [
{
"id": "b831381d-6324-4d53-ad4f-8cda48b30811",
"alterId": 64
}
]
}
]
},
"streamSettings": {
"network": "h2",
"httpSettings": { //此项是关于 HTTP/2 的设置
"path": "/ray"
},
"security": "tls"
}
}
]
}
服务器反代配置,没找到相关资料……
用nginx的话,需要在编译的时候开启 –with-http_v2_module,配置加入proxy_http_version 2
但问题是:
http2可以让客户端复用连接提高性能,但是不适合用于服务器端proxy,大量的请求复用连接反而会使性能下降。
—— 以前在某篇技术文章看到的,大概是这个意思。→nginx官方issue
所以V2Ray 引入 HTTP/2 的意义到底是什么呢……
用Caddy倒是能直接反代http2,但没我用过,不予置评:
mydomain.me
{
log ./caddy.log
proxy /v2ray https://127.0.0.1:5050 {
header_upstream Host {host}
header_upstream X-Forwarded-Proto {scheme}
insecure_skip_verify
}
}
本文被阅读了:13,082次
Ailitonia桑,想问下cdn试验的结果,有个叫quic cloud的cdn服务商每个月有20g免费流量,线路貌似比cloudflare的好,但是不支持ws,很好奇v2的h2支不支持。
我不是很清楚quic cloud这个cdn哦,抱歉不能回答,建议查一下cdn的文档
比如说cloudflare,由于cf的h2是从cf到客户端h2,但cf到源服务器还是http1.x,所以cf不能用v2的h2
不过既然有免费流量,那先白嫖来试试不就好了嘛OvO