#3314·v2ray-core

使用v2fly后无法通过ECH测试

Author: netgitboyCreated Feb 15, 2025Updated Aug 14, 2026

What version of V2Ray are you using?

v5.27.0

What's your scenario of using V2Ray?

使用 https://tls-ech.dev/ 测试ECH

What problems have you encountered?

无法通过ECH测试,显示 You are not using ECH. :( 不使用v2fly时可以通过测试,显示 You are using ECH. :)

Please attach your configuration here

Server configuration:

    { 
      "tag": "vmess",
      "listen": "127.0.0.1",
      "port": 88,
      "protocol": "vmess",
      "settings": {
        "users": [ "00000000-0000-0000-0000-000000000000" ]
      },
      "streamSettings": {
        "transport": "ws",
        "transportSettings": {
          "path": "/xxx"
        },
        "socketSettings": {
          "mptcp": true
        }
      }
    }

Client configuration:

    {
        "protocol": "vmess",
        "settings": {
            "address": "**************",
            "port": 443,
            "uuid": "00000000-0000-0000-0000-000000000000"
        },
        "tag": "proxy",
        "streamSettings": {
            "transport": "ws",
            "transportSettings": {
                "path": "/xxx"
            },
            "security": "tls",
            "securitySettings": {
                "serverName": "**************"
            },
	   "socketSettings": {
		"mptcp": true
	    }
        },
        "mux": {
            "enabled": true,
            "concurrency": 8
        }
    }

Other configurations (such as Nginx) and logs here

server {
    listen 443 ssl;
    listen [::]:443 ssl;

    http2 on;

    index index.html;

    ssl_certificate /path/to/v2ray.crt;
    ssl_certificate_key /path/to/v2ray.key;
    ssl_session_timeout 60m;
    ssl_session_cache shared:MozSSL:10m;
    ssl_session_tickets off;

    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_ciphers ECDH+AESGCM+AES256:ECDH+CHACHA20; 
    ssl_conf_command Ciphersuites TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256; 
    ssl_ecdh_curve secp384r1;
    add_header Strict-Transport-Security "max-age=63072000; includeSubDomains; preload" always;
    server_name **************;

    location /xxx {
      if ($http_upgrade != "websocket") {
        return 403;
      }
      proxy_redirect off;
      proxy_pass http://127.0.0.1:88;
      proxy_http_version 1.1;
      proxy_set_header Upgrade $http_upgrade;
      proxy_set_header Connection "upgrade";
      proxy_set_header Host $host;
      proxy_set_header X-Real-IP $remote_addr;
      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
    ...