847f5126cf
- 添加WebSocketAuthInterceptor处理token认证 - 修改WebSocket连接逻辑,支持token传递 - 统一用户身份识别,确保登录用户使用USER类型 - 修复前端环境变量配置,统一WebSocket URL - 添加Token测试页面用于验证功能 - 更新聊天消息处理逻辑,正确识别用户身份 解决了登录用户发送消息时同时保存GUEST和USER两种类型数据的问题
4.1 KiB
4.1 KiB
端口配置核查总结
概述
已完成对所有环境的端口配置核查和统一修改,确保前后端配置一致性。
后端配置 (backend-single)
端口统一为: 19089
1. 本地开发环境 (application-local.yml)
server:
port: 19089
- ✅ 已确认配置正确
- 数据库: 47.111.10.27:3306/emotion
- Redis: localhost:6379
2. 生产环境 (application-prod.yml)
server:
port: 19089
- ✅ 已确认配置正确
- 数据库: 47.111.10.27:3306/emotion
- Redis: localhost:6379
3. 测试环境 (application-test.yml)
server:
port: 19089
- ✅ 新创建配置文件
- 数据库: 47.111.10.27:3306/emotion
- Redis: localhost:6379 (database: 1)
前端配置 (web-flowith)
API和WebSocket端点统一
1. 开发环境 (.env.development)
VITE_API_BASE_URL=http://localhost:19089/api
VITE_UPLOAD_URL=http://localhost:19089/api/upload
VITE_WS_URL=http://localhost:19089/ws/chat
- ✅ 已确认配置正确
2. 生产环境 (.env.production)
VITE_API_BASE_URL=http://47.111.10.27:19089/api
VITE_UPLOAD_URL=http://47.111.10.27:19089/api/upload
VITE_WS_URL=http://47.111.10.27:19089/ws/chat
- ✅ 已更新配置 (从19000改为19089)
3. 测试环境 (.env.test)
VITE_API_BASE_URL=http://47.111.10.27:19089/api
VITE_UPLOAD_URL=http://47.111.10.27:19089/api/upload
VITE_WS_URL=http://47.111.10.27:19089/ws/chat
- ✅ 新创建配置文件
WebSocket服务默认配置
前端WebSocket服务 (src/services/websocket.ts)
const wsUrl = import.meta.env.VITE_WS_URL || 'http://localhost:19089/ws/chat'
- ✅ 已更新默认URL (从8080改为19089)
配置验证清单
✅ 已完成项目
- 后端端口统一: 所有环境都使用19089端口
- 前端API配置: 所有环境都指向正确的后端端口
- WebSocket配置: 前端WebSocket URL与后端端点匹配
- 环境配置完整性: 本地、测试、生产环境配置齐全
- 默认配置更新: WebSocket服务默认URL已更新
🔧 配置详情
WebSocket端点路径
- 后端端点:
/ws/chat - 前端连接:
http://host:19089/ws/chat - 支持SockJS和原生WebSocket
API路径前缀
- 后端context-path:
/api - 前端API调用:
http://host:19089/api/*
数据库配置
- 主机: 47.111.10.27:3306
- 数据库: emotion
- 本地/测试: root用户
- 生产: emotion用户
部署说明
本地开发
# 后端
cd backend-single
mvn spring-boot:run -Dspring-boot.run.profiles=local
# 前端
cd web-flowith
npm run dev
测试环境
# 后端
java -jar emotion-single.jar --spring.profiles.active=test
# 前端
npm run build:test
生产环境
# 后端
java -jar emotion-single.jar --spring.profiles.active=prod
# 前端
npm run build
验证步骤
-
后端启动验证
- 检查日志确认端口19089启动成功
- 访问
http://localhost:19089/api/health确认API可用
-
WebSocket连接验证
- 前端聊天页面能正常连接WebSocket
- 浏览器开发者工具Network标签页显示WebSocket连接成功
-
跨环境验证
- 本地开发环境正常工作
- 测试环境部署后功能正常
- 生产环境部署后功能正常
注意事项
- 防火墙配置: 确保服务器19089端口对外开放
- Nginx配置: 如使用Nginx代理,需要配置WebSocket支持
- SSL证书: 生产环境建议使用HTTPS和WSS
- 监控配置: 建议添加端口和服务监控
故障排查
常见问题
- 端口被占用: 使用
lsof -i :19089检查端口占用 - WebSocket连接失败: 检查防火墙和代理配置
- 跨域问题: 确认后端CORS配置正确
- 环境变量: 确认前端构建时使用正确的环境配置
调试命令
# 检查端口占用
lsof -i :19089
# 检查服务状态
curl http://localhost:19089/api/health
# 检查WebSocket连接
curl -i -N -H "Connection: Upgrade" -H "Upgrade: websocket" -H "Sec-WebSocket-Key: test" -H "Sec-WebSocket-Version: 13" http://localhost:19089/ws/chat