161 lines
3.7 KiB
Markdown
161 lines
3.7 KiB
Markdown
# 3001 端口开放状态检查报告
|
||
|
||
## 检查时间
|
||
2025-12-04 14:10
|
||
|
||
## 检查结果
|
||
|
||
### ✅ 端口监听状态
|
||
- **状态**: 正常监听
|
||
- **监听地址**: `*:3001` (所有网络接口)
|
||
- **进程**: `next-server (v1)` (PID: 3704508)
|
||
- **说明**: 应用正在监听 3001 端口,可以从所有网络接口访问
|
||
|
||
### ✅ 应用状态
|
||
- **PM2 状态**: `online`
|
||
- **应用名称**: `ai-chatbot`
|
||
- **进程ID**: 3704508
|
||
- **运行时间**: 2小时
|
||
- **内存使用**: 166.3MB
|
||
|
||
### ✅ 端口访问测试
|
||
|
||
#### 1. 本地访问测试
|
||
- **localhost:3001**: ✅ 可访问
|
||
- **127.0.0.1:3001**: ✅ 可访问
|
||
- **响应**: 返回 `/api/auth/guest` 重定向(正常)
|
||
|
||
#### 2. 内网IP访问测试
|
||
- **192.168.150.22:3001**: ✅ 可访问
|
||
- **响应**: 返回 `/api/auth/guest` 重定向(正常)
|
||
|
||
### ✅ 防火墙状态
|
||
- **firewalld**: 未运行或未安装
|
||
- **ufw**: 未运行或未安装
|
||
- **iptables**:
|
||
- 未找到针对 3001 端口的特殊规则
|
||
- INPUT 链默认策略:允许(未限制)
|
||
|
||
### ✅ 端口开放结论
|
||
|
||
**3001 端口已完全开放,可以从以下方式访问:**
|
||
|
||
1. **本地访问**
|
||
- `http://localhost:3001`
|
||
- `http://127.0.0.1:3001`
|
||
|
||
2. **内网访问**
|
||
- `http://192.168.150.22:3001`
|
||
|
||
3. **通过FRPC穿透访问**
|
||
- `http://156.225.27.52:5245` (通过FRPC TCP穿透)
|
||
|
||
## 详细检查信息
|
||
|
||
### 端口监听详情
|
||
```
|
||
LISTEN 0 511 *:3001 *:* users:(("next-server (v1",pid=3704508,fd=19))
|
||
```
|
||
|
||
**说明**:
|
||
- `*:3001`: 监听所有网络接口的 3001 端口
|
||
- 这意味着可以从内网、外网(如果防火墙允许)访问
|
||
|
||
### 防火墙检查
|
||
|
||
#### iptables 规则
|
||
- 未找到针对 3001 端口的特殊限制规则
|
||
- INPUT 链默认允许所有连接
|
||
|
||
#### 防火墙服务
|
||
- 未发现运行中的防火墙服务(firewalld/ufw)
|
||
- 系统可能使用默认的 iptables 规则,且未限制 3001 端口
|
||
|
||
## 安全建议
|
||
|
||
### 当前状态
|
||
✅ **端口已开放**: 3001 端口可以从内网访问
|
||
|
||
### 建议配置
|
||
|
||
如果需要限制访问,可以考虑:
|
||
|
||
1. **仅允许内网访问**(推荐)
|
||
```bash
|
||
# 允许内网访问
|
||
iptables -A INPUT -p tcp --dport 3001 -s 192.168.150.0/24 -j ACCEPT
|
||
# 拒绝其他访问
|
||
iptables -A INPUT -p tcp --dport 3001 -j DROP
|
||
```
|
||
|
||
2. **使用防火墙服务管理**
|
||
```bash
|
||
# 如果使用 firewalld
|
||
firewall-cmd --permanent --add-port=3001/tcp
|
||
firewall-cmd --reload
|
||
```
|
||
|
||
3. **通过FRPC访问(当前方案)**
|
||
- 应用监听在 127.0.0.1:3001(仅本地)
|
||
- 通过 FRPC 穿透到外网端口 5245
|
||
- 这样更安全,不需要直接开放 3001 端口到外网
|
||
|
||
## 当前配置分析
|
||
|
||
### FRPC 配置
|
||
```ini
|
||
[ai-chatbot]
|
||
name = ai-chatbot
|
||
type = tcp
|
||
local_ip = 127.0.0.1
|
||
local_port = 3001
|
||
remote_port = 5245
|
||
```
|
||
|
||
**说明**:
|
||
- FRPC 配置使用 `127.0.0.1:3001`(本地回环)
|
||
- 但实际上应用监听在 `*:3001`(所有接口)
|
||
- 这没有问题,FRPC 可以从本地回环访问应用
|
||
|
||
### 建议优化
|
||
|
||
如果希望更安全,可以:
|
||
|
||
1. **修改应用监听地址**
|
||
- 让应用只监听 `127.0.0.1:3001`
|
||
- 这样只能从本地访问,更安全
|
||
|
||
2. **保持当前配置**
|
||
- 当前配置允许内网访问,方便调试和管理
|
||
- 通过 FRPC 提供外网访问
|
||
|
||
## 总结
|
||
|
||
✅ **3001 端口完全开放**
|
||
- 可以从本地访问
|
||
- 可以从内网访问(192.168.150.22:3001)
|
||
- 可以通过 FRPC 穿透访问(156.225.27.52:5245)
|
||
|
||
✅ **应用正常运行**
|
||
- PM2 管理,状态正常
|
||
- 响应正常,返回预期的重定向
|
||
|
||
✅ **防火墙未限制**
|
||
- 未发现运行中的防火墙服务
|
||
- iptables 未限制 3001 端口
|
||
|
||
---
|
||
|
||
**检查命令**:
|
||
```bash
|
||
# 检查端口监听
|
||
ss -tlnp | grep ':3001'
|
||
|
||
# 测试访问
|
||
curl http://192.168.150.22:3001
|
||
|
||
# 检查防火墙
|
||
iptables -L INPUT -n
|
||
```
|
||
|