#!/bin/bash # WebSocket连接测试脚本 echo "🧪 开始测试WebSocket连接..." # 测试网关服务WebSocket端点 echo "📡 测试网关服务WebSocket连接..." echo "URL: ws://localhost:8000/ws" # 使用websocat或类似的工具进行测试 # 如果没有安装websocat,可以使用curl进行基本的握手测试 echo "🔍 使用curl测试WebSocket握手..." curl -i -N \ -H "Connection: Upgrade" \ -H "Upgrade: websocket" \ -H "Sec-WebSocket-Version: 13" \ -H "Sec-WebSocket-Key: dGhlIHNhbXBsZSBub25jZQ==" \ -H "Host: localhost:8000" \ -H "Origin: http://localhost:8000" \ http://localhost:8000/ws echo "" echo "🔍 测试Nginx WebSocket代理..." curl -i -N \ -H "Connection: Upgrade" \ -H "Upgrade: websocket" \ -H "Sec-WebSocket-Version: 13" \ -H "Sec-WebSocket-Key: dGhlIHNhbXBsZSBub25jZQ==" \ -H "Host: localhost" \ -H "Origin: http://localhost" \ http://localhost/ws echo "" echo "✅ WebSocket连接测试完成" echo "" echo "📋 测试结果说明:" echo " - HTTP/1.1 101 Switching Protocols 表示WebSocket连接成功" echo " - 其他状态码表示连接失败" echo "" echo "🛠️ 如果测试失败,请检查:" echo " 1. 网关服务是否已启动 (端口8000)" echo " 2. Nginx是否已启动 (端口80/443)" echo " 3. 防火墙是否允许相关端口" echo " 4. 服务日志中的错误信息"