惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
宝玉的分享
宝玉的分享
Jina AI
Jina AI
Martin Fowler
Martin Fowler
W
WeLiveSecurity
V
Vulnerabilities – Threatpost
GbyAI
GbyAI
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
P
Privacy International News Feed
D
DataBreaches.Net
Security Archives - TechRepublic
Security Archives - TechRepublic
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Scott Helme
Scott Helme
U
Unit 42
Hacker News - Newest:
Hacker News - Newest: "LLM"
Google DeepMind News
Google DeepMind News
酷 壳 – CoolShell
酷 壳 – CoolShell
Vercel News
Vercel News
I
InfoQ
N
Netflix TechBlog - Medium
罗磊的独立博客
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
IT之家
IT之家
雷峰网
雷峰网
Hugging Face - Blog
Hugging Face - Blog
T
Tailwind CSS Blog
S
Securelist
S
Schneier on Security
T
Troy Hunt's Blog
www.infosecurity-magazine.com
www.infosecurity-magazine.com
C
Cisco Blogs
H
Hacker News: Front Page
Spread Privacy
Spread Privacy
T
Tenable Blog
博客园 - Franky
Apple Machine Learning Research
Apple Machine Learning Research
Recent Commits to openclaw:main
Recent Commits to openclaw:main
D
Darknet – Hacking Tools, Hacker News & Cyber Security
博客园_首页
量子位
AI
AI
L
LINUX DO - 最新话题
J
Java Code Geeks
小众软件
小众软件
爱范儿
爱范儿
月光博客
月光博客
H
Help Net Security
aimingoo的专栏
aimingoo的专栏

灵心小窝

Pixel手机 国内 Wi-Fi「网络连接受限无法上网」修复记录:通过 ADB 修改 Captive Portal 检测地址 | 灵心小窝 谁唱的,怎么能这么好听 | 灵心小窝 不是所有故事都有解释,有些就是突然停了。 | 灵心小窝 最近在玩洛克王国,游玩展示 | 灵心小窝 好久没有写文章了,今天看了下竟然挂了 | 灵心小窝 抖音视频/图文解析服务端源码分享 开发了个抖音资源下载CLI工具,思路 | 灵心小窝 免费使用Codex教程 | 灵心小窝
NapCat Docker 端口与 1Panel 路径代理排坑笔记 | 灵心小窝
早清风 · 2026-07-23 · via 灵心小窝

记录 NapCat、Docker Compose、1Panel 反向代理和 Webhook 之间的端口关系,避免以后再次把“容器端口、宿主机端口、公网路径”混在一起。

NapCat Docker 端口与 1Panel 路径代理排坑笔记

目的:记录 NapCat、Docker Compose、1Panel 反向代理和 Webhook 之间的端口关系,避免以后再次把“容器端口、宿主机端口、公网路径”混在一起。


一、最终架构

当前链路:


二、必须先分清三层端口

1. NapCat 后台端口

在 NapCat 后台:

这里填写的端口,例如:

NapCat 容器内部监听端口

例如:

这两个端口都属于容器内部。

2. Docker Compose 端口

当前 Compose 配置:

Docker 端口格式:

所以:

Compose 配置

实际含义

3002:3000

宿主机 3002 → NapCat 容器 3000

3001:3001

宿主机 3001 → NapCat 容器 3001

6099:6099

宿主机 6099 → NapCat 容器 6099

最重要的记忆方式:

例如:

3. 1Panel 反向代理端口

1Panel 运行在宿主机上,所以它访问的是宿主机端口:

当前环境中,正确关系是:


三、端口本身没有固定功能

Compose 中:

只表示开放并映射端口,不代表 3001 天生就是 HTTP、WebSocket 或其他服务。

真正决定端口功能的是 NapCat 后台的网络配置:

因此,端口的用途取决于 NapCat 中实际创建并启用的网络服务。


四、为什么两个 HTTP 服务器不能监听同一个端口

曾经出现过这种情况:

然后又创建:

结果访问:

请求始终命中已经占用 3000 的旧 HTTP 服务器,因此:

这不代表新 Token 错了,而是请求根本没有进入新 HTTP 服务器。

正确做法:

总结:


五、管理后台和 OneBot HTTP API 不是同一个服务

NapCat 有两类不同入口:

NapCat WebUI

用途:

NapCat OneBot HTTP API

用途:

如果域名反向代理到了 WebUI,却访问:

就会返回:

因为 WebUI 后端没有这个 API 路径。

所以出现 404 时,优先确认:


六、子域名不是必须的

子域名只是用来分类和隔离,不是解决多端口的唯一办法。

例如可以使用独立子域名:

也可以在同一个域名下按路径分流:

真正解决多端口问题的是:

准确理解:


七、当前 1Panel 路径代理配置

notion image

原规则

对应:

邮件 Webhook 专用规则

这里的 = 表示精确匹配:

外部请求:

会被 1Panel 改写并转发为:

NapCat 最终收到的仍然是标准接口:


八、为什么必须做路径改写

外部为了区分用途,使用:

但 NapCat 真正认识的是:

所以 1Panel 必须配置成:

作用:

如果把 /mail/send_group_msg 原样传给 NapCat,NapCat 可能返回 404。


九、当前 NapCat 网络配置建议

HTTP服务器 A

对应:

HTTP服务器 B

对应:

两个 HTTP 服务器必须使用不同容器端口。


十、Cloudflare 临时邮箱 Webhook 正式配置

URL

METHOD

HEADERS

BODY

精简版本:

包含正文版本:

正式使用建议采用 Header 传 Token,不把 Token 放在 URL 查询参数里。


十一、404 与 403 怎么判断

404 Not Found

代表:

常见原因:

403 token verify failed

代表:

常见原因:

判断方式:

通常意味着请求仍然命中了旧 HTTP 服务器。


十二、推荐的排查顺序

第一步:直接测试宿主机端口

测试宿主机 3001

第二步:测试公网路径

结果判断

本地端口

公网路径

结论

成功

成功

全部正常

成功

404

1Panel 路径或代理规则错误

成功

403

公网请求命中错误后端或 Header 未正确传递

403

403

NapCat Token 或 HTTP服务器配置错误

连接失败

任意

NapCat 没监听该端口,或 Docker 没映射


十三、curl 多行命令的坑

错误写法:

反斜杠后插入空行,会导致:

正确写法:

最稳妥的是整行执行:


十四、安全注意事项

不要长期把 Token 放在 URL:

因为 URL 容易出现在:

正式配置推荐:

如果 Token 曾经出现在截图、聊天记录或终端输出中,应立即重新生成。


十五、最终记忆口诀


十六、当前实际对应关系


最终核心:不要把 NapCat 后台端口、Docker 宿主机端口和公网 URL 当成同一层。它们是连续的三层映射关系。