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. 服务器配置

{
  "inbound": {
    "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" // 密钥文件
          }
        ]
      }
    }
  },
  "outbound": {
    "protocol": "freedom",
    "settings": {}
  }
}

1.1.2. 客户端配置

{
  "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"
    }
  }
}

1.2. 更新历史

  • 2018-03-18 初版
  • 2018-08-30 Update

results matching ""

    No results matching ""