要创建多个这样的 VMess + WebSocket (WS) 节点,需要在 x-ui 面板 和 Nginx 配置 中进行相应的修改。以下是同时管理多个节点的步骤:
1. x-ui 配置多个节点
在 x-ui 面板中,可以创建多个 VMess 节点。每个节点会有不同的 UUID 和 WebSocket 路径。可以为每个节点指定不同的配置。
假设想添加两个节点,分别命名为 "🇺🇸 US-1" 和 "🇬🇧 UK-1"。你需要:
- 在 x-ui 中分别为每个节点配置不同的 UUID 和 WebSocket 路径(比如
/us1
和/uk1
)。 - 设置节点对应的端口和协议,其他参数可以根据需要调整。
2. Nginx 配置多个 WebSocket 代理
在 Nginx 配置中,需要为每个节点添加一个 location
块 来处理 WebSocket 流量。每个节点会有不同的 WebSocket 路径,但它们都可以共享同一个 TLS 端口(443)。
例如,假设你有两个节点:
/us1
对应 "🇺🇸 US-1"/uk1
对应 "🇬🇧 UK-1"
可以将它们配置在 Nginx 中如下:
修改后的 Nginx 配置
server { listen 80; listen [::]:80; listen 443 ssl http2; listen [::]:443 ssl http2; ...... # 强制 HTTP 跳转 HTTPS if ($server_port !~ 443){ rewrite ^(/.*)$ https://$host$1 permanent; } # SSL 配置 ssl_certificate /www/server/panel/vhost/cert/......; ssl_certificate_key /www/server/panel/vhost/cert/......; ssl_protocols TLSv1.2 TLSv1.3; ssl_ciphers EECDH+AES128:EECDH+AES256:EECDH+CHACHA20:RSA+AES128:RSA+AES256:!MD5; ssl_prefer_server_ciphers on; ssl_session_cache shared:SSL:10m; ssl_session_timeout 10m; add_header Strict-Transport-Security "max-age=31536000"; error_page 497 https://$host$request_uri; # WebSocket 代理:US-1 location /us1 { proxy_pass http://127.0.0.1:21000; # 你的 V2Ray 监听端口 proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "Upgrade"; proxy_set_header Host $host; proxy_connect_timeout 10s; proxy_send_timeout 60s; proxy_read_timeout 300s; send_timeout 60s; } # WebSocket 代理:UK-1 location /uk1 { proxy_pass http://127.0.0.1:21001; # 另一个 V2Ray 监听端口 proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "Upgrade"; proxy_set_header Host $host; proxy_connect_timeout 10s; proxy_send_timeout 60s; proxy_read_timeout 300s; send_timeout 60s; } # 错误页配置 error_page 404 /404.html; error_page 502 /502.html; # PHP 解析 include enable-php-83.conf; # URL 重写规则 include /www/server/panel/vhost/rewrite/...... # 禁止访问某些文件 location ~ ^/(\.user.ini|\.htaccess|\.git|\.env|\.svn|\.project|LICENSE|README.md) { return 404; } # Let's Encrypt 证书验证目录 location ~ \.well-known { allow all; } # 禁止在证书验证目录中存放敏感文件 if ($uri ~ "^/\.well-known/.*\.(php|jsp|py|js|css|lua|ts|go|zip|tar\.gz|rar|7z|sql|bak)$") { return 403; } # 静态资源缓存 location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ { expires 30d; error_log /dev/null; access_log /dev/null; } location ~ .*\.(js|css)?$ { expires 12h; error_log /dev/null; access_log /dev/null; } access_log /www/wwwlogs/......; error_log /www/wwwlogs/......; }
总结
- 在 x-ui 面板中为每个节点配置不同的 UUID 和 WebSocket 路径。
- 在 Nginx 配置中,为每个 WebSocket 路径添加单独的
location
块。 - 在 Clash 配置中,添加多个节点配置,并指向正确的 WebSocket 路径。
这样,就可以管理和使用多个 VMess + WebSocket 节点。