首先确认服务是否正常运行:执行 systemctl status v2ray 或 ps aux | grep v2ray,并查看日志 journalctl -u v2ray -n 200。若服务未启动或频繁重启,检查配置文件(通常位于 /etc/v2ray/config.json)是否有语法错误。其次检查监听端口和地址:用 ss -tunlp | grep v2ray 或 netstat -tunlp 确认 v2ray 正在绑定期望的端口与协议(TCP/UDP)。然后检查主机防火墙与阿里云控制台的安全组:在阿里云控制台放行对应端口(入方向)、安全组策略允许来源 IP/端口;在实例内检查 iptables/ufw/firewalld(如 iptables -L -n、ufw status)。最后从客户端本地用 curl -v 或 telnet/openssl s_client 测试连通性,以确定是服务端问题还是网络中间阻断。
先排查链路与 MTU:在 VPS 与客户端之间存在 MTU 不匹配会导致分片丢包,可尝试将服务器网卡 MTU 降到 1400 或在 v2ray 的 mKCP/WS 等传输配置中调整分片参数。检查网络丢包与延迟:用 mtr 或 ping 长时间测试目标域名,观察抖动与丢包。若使用 TCP + TLS + WebSocket,确认 Nginx/Caddy 反向代理配置是否有连接限制(keepalive、超时、worker 进程),并查看访问日志。考虑是否被运营商或中间节点限速/干扰,尝试切换端口或换 TLS SNI/ALPN 设置,或使用常见端口(443/80)结合伪装以降低被识别几率。此外检查服务器资源(CPU、内存、带宽)与并发连接数是否达到上限。
首先用命令检查证书链:openssl s_client -connect your.domain:443 -servername your.domain,看是否返回有效的证书链和域名匹配。确认 v2ray 或反向代理(如 Nginx、Caddy)加载了正确的证书与私钥路径,若使用 Let's Encrypt,检查 fullchain.pem 与 privkey.pem 是否在配置中被正确引用并设置了续期任务(certbot/renew)。若是 SNI 配置错误会导致握手失败,确保客户端配置里的 "servername" 与证书 CN/SAN 一致。另外检查 TLS 配置的 ALPN 和 cipher,部分客户端或中间设备不支持某些 ALPN(如 h2),可尝试仅使用 http/1.1 或修改加密套件。
登录阿里云控制台,进入该 ECS 实例对应的安全组,检查入方向规则是否允许对应端口和协议(TCP/UDP),若使用自定义端口需手动添加规则放行并限定来源 IP(0.0.0.0/0 风险较大,生产环境建议限制来源)。同时查看实例所属 VPC 的网络 ACL(如果启用)以及实例绑定的公网 IP(EIP)是否正常。实例内再检查系统防火墙(iptables、firewalld、ufw),示例命令:iptables -L -n --line-numbers。开放端口示例:iptables -I INPUT -p tcp --dport 443 -j ACCEPT 或使用 firewall-cmd --permanent --add-port=443/tcp 并重载。完成后用 ss -tunlp 与外部机器 telnet your.ip 443 验证。
先确认域名在公网是否解析到正确的 EIP:使用 nslookup your.domain 或 dig +short your.domain。若解析结果错误,检查域名注册商和 DNS 服务(解析记录是否更新、是否生效)。有时 DNS 缓存导致解析延迟,尝试用 dig @1.1.1.1 your.domain 绕过本地解析。若使用 CDN(如 Cloudflare),需确认代理模式是否正确(橙云/灰云)并与 v2ray 的 TLS/路径伪装匹配。客户端若使用系统 DNS 可尝试修改为 1.1.1.1 或 8.8.8.8 测试,或在客户端 hosts 临时指定 IP 做排查。最后确认 v2ray 配置中 inbound/outbound 的 domain 字段与证书 SNI 保持一致,避免因域名不匹配导致握手或路由失败。