Files
happy-life-star/配置核查总结.md
T
peanut 847f5126cf 修复WebSocket身份认证问题
- 添加WebSocketAuthInterceptor处理token认证
- 修改WebSocket连接逻辑,支持token传递
- 统一用户身份识别,确保登录用户使用USER类型
- 修复前端环境变量配置,统一WebSocket URL
- 添加Token测试页面用于验证功能
- 更新聊天消息处理逻辑,正确识别用户身份

解决了登录用户发送消息时同时保存GUEST和USER两种类型数据的问题
2025-07-24 17:51:38 +08:00

172 lines
4.1 KiB
Markdown

# 端口配置核查总结
## 概述
已完成对所有环境的端口配置核查和统一修改,确保前后端配置一致性。
## 后端配置 (backend-single)
### 端口统一为: 19089
#### 1. 本地开发环境 (`application-local.yml`)
```yaml
server:
port: 19089
```
- ✅ 已确认配置正确
- 数据库: 47.111.10.27:3306/emotion
- Redis: localhost:6379
#### 2. 生产环境 (`application-prod.yml`)
```yaml
server:
port: 19089
```
- ✅ 已确认配置正确
- 数据库: 47.111.10.27:3306/emotion
- Redis: localhost:6379
#### 3. 测试环境 (`application-test.yml`)
```yaml
server:
port: 19089
```
- ✅ 新创建配置文件
- 数据库: 47.111.10.27:3306/emotion
- Redis: localhost:6379 (database: 1)
## 前端配置 (web-flowith)
### API和WebSocket端点统一
#### 1. 开发环境 (`.env.development`)
```env
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`)
```env
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`)
```env
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`)
```typescript
const wsUrl = import.meta.env.VITE_WS_URL || 'http://localhost:19089/ws/chat'
```
- ✅ 已更新默认URL (从8080改为19089)
## 配置验证清单
### ✅ 已完成项目
1. **后端端口统一**: 所有环境都使用19089端口
2. **前端API配置**: 所有环境都指向正确的后端端口
3. **WebSocket配置**: 前端WebSocket URL与后端端点匹配
4. **环境配置完整性**: 本地、测试、生产环境配置齐全
5. **默认配置更新**: 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用户
## 部署说明
### 本地开发
```bash
# 后端
cd backend-single
mvn spring-boot:run -Dspring-boot.run.profiles=local
# 前端
cd web-flowith
npm run dev
```
### 测试环境
```bash
# 后端
java -jar emotion-single.jar --spring.profiles.active=test
# 前端
npm run build:test
```
### 生产环境
```bash
# 后端
java -jar emotion-single.jar --spring.profiles.active=prod
# 前端
npm run build
```
## 验证步骤
1. **后端启动验证**
- 检查日志确认端口19089启动成功
- 访问 `http://localhost:19089/api/health` 确认API可用
2. **WebSocket连接验证**
- 前端聊天页面能正常连接WebSocket
- 浏览器开发者工具Network标签页显示WebSocket连接成功
3. **跨环境验证**
- 本地开发环境正常工作
- 测试环境部署后功能正常
- 生产环境部署后功能正常
## 注意事项
1. **防火墙配置**: 确保服务器19089端口对外开放
2. **Nginx配置**: 如使用Nginx代理,需要配置WebSocket支持
3. **SSL证书**: 生产环境建议使用HTTPS和WSS
4. **监控配置**: 建议添加端口和服务监控
## 故障排查
### 常见问题
1. **端口被占用**: 使用 `lsof -i :19089` 检查端口占用
2. **WebSocket连接失败**: 检查防火墙和代理配置
3. **跨域问题**: 确认后端CORS配置正确
4. **环境变量**: 确认前端构建时使用正确的环境配置
### 调试命令
```bash
# 检查端口占用
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
```