1. HTTP/2

简单地说 HTTP/2 是 HTTP/1.1 的升级版(目前大多数网页还是 HTTP/1.1),点击这里可以直观地体会到 HTTP/2 相比于 HTTP/1.1 的提升(不代表 V2Ray 中 HTTP/2 相对于 TCP 的提升就是这样的)。

由于我不清楚 V2Ray 引入 HTTP/2 的意图是什么,V2Ray 的手册也没有对此进行说明,再加上我没怎么测试过 HTTP/2 ,所以呢关于 HTTP/2 有什么高级的姿势我也不甚了解。如果有网友发现了新姿势,欢迎告知。

1.1. 配置

与其它的传输层协议一样在 streamSettings 中配置,不过要注意的是使用 HTTP/2 要开启 TLS。

1.1.1. 服务器配置

  1. {
  2. "inbounds": [
  3. {
  4. "port": 443,
  5. "protocol": "vmess",
  6. "settings": {
  7. "clients": [
  8. {
  9. "id": "b831381d-6324-4d53-ad4f-8cda48b30811",
  10. "alterId": 64
  11. }
  12. ]
  13. },
  14. "streamSettings": {
  15. "network": "h2", // h2 也可写成 http,效果一样
  16. "httpSettings": { //此项是关于 HTTP/2 的设置
  17. "path": "/ray"
  18. },
  19. "security": "tls", // 配置tls
  20. "tlsSettings": {
  21. "certificates": [
  22. {
  23. "certificateFile": "/etc/v2ray/v2ray.crt", // 证书文件,详见 tls 小节
  24. "keyFile": "/etc/v2ray/v2ray.key" // 密钥文件
  25. }
  26. ]
  27. }
  28. }
  29. }
  30. ],
  31. "outbounds": [
  32. {
  33. "protocol": "freedom",
  34. "settings": {}
  35. }
  36. ]
  37. }

1.1.2. 客户端配置

  1. {
  2. "inbounds": [
  3. {
  4. "port": 1080,
  5. "listen": "127.0.0.1",
  6. "protocol": "socks",
  7. "sniffing": {
  8. "enabled": true,
  9. "destOverride": ["http", "tls"]
  10. },
  11. "settings": {
  12. "auth": "noauth",
  13. "udp": false
  14. }
  15. }
  16. ],
  17. "outbounds": [
  18. {
  19. "protocol": "vmess",
  20. "settings": {
  21. "vnext": [
  22. {
  23. "address": "mydomain.me",
  24. "port": 443,
  25. "users": [
  26. {
  27. "id": "b831381d-6324-4d53-ad4f-8cda48b30811",
  28. "alterId": 64
  29. }
  30. ]
  31. }
  32. ]
  33. },
  34. "streamSettings": {
  35. "network": "h2",
  36. "httpSettings": { //此项是关于 HTTP/2 的设置
  37. "path": "/ray"
  38. },
  39. "security": "tls"
  40. }
  41. }
  42. ]
  43. }

1.2. 更新历史

  • 2018-03-18 初版
  • 2018-08-30 Update
  • 2018-11-17 V4.0+ 配置