lovart3/FRPC修复完成报告.md
2025-12-17 20:15:18 +08:00

143 lines
3.9 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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) 连接并修复配置