847f5126cf
- 添加WebSocketAuthInterceptor处理token认证 - 修改WebSocket连接逻辑,支持token传递 - 统一用户身份识别,确保登录用户使用USER类型 - 修复前端环境变量配置,统一WebSocket URL - 添加Token测试页面用于验证功能 - 更新聊天消息处理逻辑,正确识别用户身份 解决了登录用户发送消息时同时保存GUEST和USER两种类型数据的问题
172 lines
4.1 KiB
Markdown
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
|
|
```
|