143 lines
3.9 KiB
Markdown
143 lines
3.9 KiB
Markdown
# FRPC 修复完成报告
|
||
|
||
## 问题总结
|
||
|
||
### 原始问题
|
||
1. 访问 `http://156.225.27.52:5245/` 时端口号消失,返回 Nginx 404
|
||
2. FRPC 服务无法启动,一直处于重启循环
|
||
|
||
### 根本原因
|
||
1. **FRPC 配置错误**: `ai-chatbot` 配置使用了 HTTP 类型,但缺少 `custom_domains`
|
||
2. **其他代理配置错误**: 多个 HTTP 类型的代理(`http044`, `bt-panel` 等)缺少必需的 `custom_domains` 或 `subdomain` 配置
|
||
3. **配置冲突**: HTTP 类型配置不完整导致 FRPC 无法启动
|
||
|
||
## 修复方案
|
||
|
||
### 1. 将所有 HTTP 类型改为 TCP 类型
|
||
- HTTP 类型需要配置 `custom_domains` 或 `subdomain`,配置复杂
|
||
- TCP 类型更简单直接,适合端口转发场景
|
||
- 将所有代理配置统一改为 TCP 类型
|
||
|
||
### 2. 修复后的配置
|
||
|
||
```ini
|
||
[ai-chatbot]
|
||
name = ai-chatbot
|
||
type = tcp
|
||
local_ip = 127.0.0.1
|
||
local_port = 3001
|
||
remote_port = 5245
|
||
```
|
||
|
||
### 3. 修复的其他代理
|
||
- `http044`: SSH (5204) - 改为 TCP
|
||
- `bt-panel`: 宝塔面板 (5205) - 改为 TCP
|
||
- `ai-classification`: AI分类系统 (5206) - 改为 TCP
|
||
- `performance-api`: 性能API (5234) - 改为 TCP
|
||
- `qwen-api`: Qwen API (5236) - 改为 TCP
|
||
- `weipinghui-parser`: 微品汇解析器 (5238) - 改为 TCP
|
||
- `shebeiguanli-frontend`: 设备管理前端 (5243) - 改为 TCP
|
||
- `shebeiguanli-backend`: 设备管理后端 (5244) - 改为 TCP
|
||
|
||
## 修复结果
|
||
|
||
### ✅ FRPC 服务状态
|
||
- **状态**: `active (running)`
|
||
- **启动时间**: 2025-12-04 14:05:50
|
||
- **所有代理**: 全部启动成功
|
||
|
||
### ✅ ai-chatbot 代理状态
|
||
- **代理名称**: `ai-chatbot`
|
||
- **状态**: `start proxy success`
|
||
- **本地地址**: `127.0.0.1:3001`
|
||
- **远程端口**: `5245`
|
||
|
||
### ✅ 访问测试
|
||
- **访问地址**: `http://156.225.27.52:5245`
|
||
- **连接状态**: ✅ 成功连接
|
||
- **响应**: HTTP 307 重定向到 `/api/auth/guest`
|
||
- **说明**: 应用正常工作,返回了预期的认证重定向
|
||
|
||
## 当前状态
|
||
|
||
### 应用访问
|
||
- **外网访问**: `http://156.225.27.52:5245`
|
||
- **内网访问**: `http://192.168.150.22:3001`
|
||
- **状态**: ✅ 正常运行
|
||
|
||
### FRPC 服务
|
||
- **服务状态**: ✅ 运行中
|
||
- **配置文件**: `/etc/frp/frpc.ini`
|
||
- **备份文件**: `/etc/frp/frpc.ini.backup.before_fix`
|
||
|
||
### 应用服务
|
||
- **PM2 状态**: ✅ 运行中
|
||
- **进程名称**: `ai-chatbot`
|
||
- **监听端口**: `3001`
|
||
|
||
## 注意事项
|
||
|
||
### 1. 重定向 URL 问题
|
||
应用返回的重定向 URL 中包含 `localhost:3001`,这可能导致浏览器访问时出现问题。建议:
|
||
- 检查应用的重定向逻辑,确保使用正确的域名和端口
|
||
- 或者在应用配置中设置正确的 `NEXT_PUBLIC_BASE_URL`
|
||
|
||
### 2. 端口冲突
|
||
`shebeiguanli-backend` 和 `ai-chatbot` 都使用 3001 端口,但:
|
||
- `shebeiguanli-backend` 使用内网 IP `192.168.150.22:3001`
|
||
- `ai-chatbot` 使用本地回环 `127.0.0.1:3001`
|
||
- 目前没有冲突,但需要注意
|
||
|
||
### 3. 配置备份
|
||
- 原始配置已备份到: `/etc/frp/frpc.ini.backup.before_fix`
|
||
- 如需恢复,可以使用备份文件
|
||
|
||
## 验证命令
|
||
|
||
### 检查 FRPC 状态
|
||
```bash
|
||
ssh root@192.168.150.22
|
||
systemctl status frpc.service
|
||
```
|
||
|
||
### 查看 FRPC 日志
|
||
```bash
|
||
journalctl -u frpc.service -n 50 | grep ai-chatbot
|
||
```
|
||
|
||
### 测试本地应用
|
||
```bash
|
||
curl http://localhost:3001
|
||
```
|
||
|
||
### 测试外网访问
|
||
```bash
|
||
curl http://156.225.27.52:5245
|
||
```
|
||
|
||
## 后续优化建议
|
||
|
||
1. **应用配置优化**
|
||
- 设置正确的 `NEXT_PUBLIC_BASE_URL` 环境变量
|
||
- 修复重定向 URL 中的 localhost 问题
|
||
|
||
2. **监控和日志**
|
||
- 设置 FRPC 日志轮转
|
||
- 添加应用健康检查
|
||
|
||
3. **安全性**
|
||
- 考虑添加访问控制
|
||
- 配置 HTTPS(如果需要)
|
||
|
||
## 总结
|
||
|
||
✅ **问题已解决**: FRPC 服务正常运行,ai-chatbot 代理成功启动
|
||
✅ **访问正常**: 外网可以通过 `http://156.225.27.52:5245` 访问应用
|
||
✅ **配置已优化**: 所有代理配置统一使用 TCP 类型,更稳定可靠
|
||
|
||
---
|
||
|
||
**修复时间**: 2025-12-04 14:06
|
||
**修复方式**: 通过内网 SSH (192.168.150.22) 连接并修复配置
|
||
|