网络拓扑文档
最后更新:2026-03-04
🗺️ 网络架构概览(当前生效)
┌───────────────────────────┐
│ 公网用户 │
└─────────────┬─────────────┘
│
▼
┌────────────────────────────────────┐
│ 香港入口服务器 103.118.245.6 │
│ - Nginx: 80/443 │
│ - FRPS: 7001 │
│ - FRP vhost: 8080/8443 │
│ - Dashboard: 7500 │
└────────────────┬───────────────────┘
│ FRP (token)
▼
┌────────────────────────────────────┐
│ 生产服务器 192.168.58.20 │
│ - Next.js: 4320 (容器映射) │
│ - MinIO: 9000 │
│ - frpc-s3.service (主链路) │
│ - frpc.service (南京备用,已停用) │
└────────────────────────────────────┘
备用(非主链路):
南京 FRP 180.97.221.140(7000/2320/2330)当前仅保留为历史备用线路。
🌐 域名解析
| 域名 |
DNS 指向 |
实际服务 |
用途 |
| 3d.yydd.ai |
香港 (103.118.245.6) |
Next.js 应用(经香港入口转发) |
主站访问 |
| s3.yydd.ai |
香港 (103.118.245.6) |
MinIO 存储桶(经香港入口转发) |
文件存储/下载 |
DNS 管理说明
- DNS 托管在 Cloudflare(权威 NS:
holly.ns.cloudflare.com、simon.ns.cloudflare.com)
- 域名变更需在 Cloudflare Zone(
yydd.ai)内操作
- 当前运维终端默认无 Cloudflare 管理权限时,需联系域名管理员执行切换
🔌 FRP 穿透配置
当前服务模型(systemd)
| 节点 |
服务 |
配置文件 |
角色 |
| 生产 192.168.58.20 |
frpc-s3.service |
/etc/frp/frpc-s3.toml |
主链路(3d + s3 → 香港) |
| 生产 192.168.58.20 |
frpc.service |
/etc/frp/frpc.toml |
南京备用链路(当前停用) |
| 香港 103.118.245.6 |
frps-minio.service |
/root/frp-minio/frps.toml |
FRPS 服务端 |
说明:frpc 二进制会有工作线程,进程数可大于 1;以 systemctl is-active 与日志为准。
运行备注:frpc.service(南京备用链路)当前已停用,不影响 frpc-s3.service(香港主链路)对外服务;如需回切可手动启用。
关键配置(脱敏示例)
/etc/frp/frpc-s3.toml(生产,主链路)
serverAddr = "103.118.245.6"
serverPort = 7001
auth.method = "token"
auth.token = "<REDACTED>"
[[proxies]]
name = "minio-s3-hk"
type = "http"
localIP = "192.168.58.20"
localPort = 9000
customDomains = ["s3.yydd.ai"]
[[proxies]]
name = "3d-main-hk"
type = "http"
localIP = "192.168.58.20"
localPort = 4320
customDomains = ["3d.yydd.ai"]
/root/frp-minio/frps.toml(香港,服务端)
bindPort = 7001
vhostHTTPPort = 8080
vhostHTTPSPort = 8443
[auth]
token = "<REDACTED>"
[webServer]
addr = "0.0.0.0"
port = 7500
user = "admin"
password = "<REDACTED>"
🚪 端口映射(当前)
生产服务器 (192.168.58.20)
| 服务 |
端口 |
说明 |
| Next.js 容器 |
4320 |
3D 主站应用入口(内网) |
| MinIO |
9000 |
对象存储服务 |
| PostgreSQL |
5432 |
内网数据库 |
| Redis |
6379 |
内网缓存 |
香港入口服务器 (103.118.245.6)
| 端口 |
服务 |
说明 |
| 80 |
Nginx |
HTTP 入口(跳 HTTPS) |
| 443 |
Nginx + Let’s Encrypt |
3d/s3 统一 HTTPS 入口 |
| 7001 |
FRPS bindPort |
FRP 控制通道 |
| 8080 |
FRPS vhostHTTPPort |
FRP HTTP 转发 |
| 8443 |
FRPS vhostHTTPSPort |
FRP HTTPS 转发 |
| 7500 |
FRPS Dashboard |
运维面板(需加固来源) |
南京 FRP 服务器 (180.97.221.140)
| 端口 |
服务 |
说明 |
| 7000 |
FRP Server |
南京旧线路控制端口 |
| 2320 |
3d 旧代理口 |
历史主站链路(备用) |
| 2330 |
s3 旧代理口 |
历史存储链路(备用) |
📊 服务访问路径(当前)
3d.yydd.ai(主站)
用户 → DNS(香港) → Nginx(香港:443) → FRPS(香港:8080/8443) → frpc-s3(生产) → Next.js(4320)
s3.yydd.ai(存储)
用户 → DNS(香港) → Nginx(香港:443) → FRPS(香港:8080/8443) → frpc-s3(生产) → MinIO(9000)
🔧 故障排查(更新后)
常用检查命令
# 1) 生产侧 FRP 主链路
ssh root@192.168.58.20 "systemctl is-active frpc-s3 && tail -n 80 /tmp/frpc-s3.log"
# 2) 香港侧 FRPS + Nginx
ssh -i C:/Users/54972/.ssh/id_rsa_103.118.245.6 root@103.118.245.6 "systemctl is-active frps-minio nginx"
ssh -i C:/Users/54972/.ssh/id_rsa_103.118.245.6 root@103.118.245.6 "ss -tlnp | grep -E ':7001 |:8080 |:8443 |:443 '"
# 3) 端到端验证
curl -sS -o /dev/null -w "3d:%{http_code} ssl=%{ssl_verify_result}\n" https://3d.yydd.ai
curl -sS -o /dev/null -w "s3:%{http_code} ssl=%{ssl_verify_result}\n" https://s3.yydd.ai
常见问题
| 问题 |
可能原因 |
解决方案 |
| 3d.yydd.ai 502/超时 |
香港 frps-minio 未运行或端口冲突 |
systemctl status frps-minio,排查 7500 占用并重启 |
| s3.yydd.ai 不可用 |
frpc-s3 未连接香港 |
检查 /tmp/frpc-s3.log 是否 login success + start proxy success |
| HTTPS 证书报错 |
Nginx 证书未覆盖双域名 |
检查 /etc/letsencrypt/live/s3.yydd.ai/fullchain.pem SAN |
| 访问慢/抖动 |
跨境链路波动 |
观察 frpc-s3 重连频率,必要时启用备用线路 |
重启流程(systemd)
# 生产:重启香港主链路 frpc
ssh root@192.168.58.20 "systemctl restart frpc-s3 && systemctl status frpc-s3 --no-pager -l | sed -n '1,60p'"
# 生产:启用南京备用链路(仅回切时)
ssh root@192.168.58.20 "systemctl enable --now frpc && systemctl status frpc --no-pager -l | sed -n '1,60p'"
# 香港:重启 FRPS
ssh -i C:/Users/54972/.ssh/id_rsa_103.118.245.6 root@103.118.245.6 "systemctl restart frps-minio && systemctl status frps-minio --no-pager -l | sed -n '1,60p'"
# 香港:重载 Nginx(改证书/站点后)
ssh -i C:/Users/54972/.ssh/id_rsa_103.118.245.6 root@103.118.245.6 "nginx -t && systemctl reload nginx"
🔐 服务器凭据与连接方式
| 服务器 |
IP |
推荐 SSH 方式 |
备注 |
| 生产服务器 |
192.168.58.20 |
ssh prod |
主服务节点 |
| 香港入口 |
103.118.245.6 |
ssh -i C:/Users/54972/.ssh/id_rsa_103.118.245.6 root@103.118.245.6 |
已切换为新密钥 |
| 南京 FRP |
180.97.221.140 |
plink -ssh root@180.97.221.140 -pw "密码" |
备用链路 |
| 构建服务器 |
192.168.42.134 |
ssh build |
镜像构建 |
详细密钥清单与服务器说明见 CLAUDE.md。
📝 变更历史
| 日期 |
变更内容 |
操作人 |
| 2026-02-23 |
创建文档,记录初始网络架构 |
Claude |
| 2026-03-04 |
3d 主链路切到香港,证书覆盖 3d+s3,文档改为 systemd 运维模型 |
Codex |