用文档站测试 API
API 参考 里每个端点都有一个请求面板:填服务器地址、填令牌、点发送。这一页说明它到底 把请求发到哪里、需要什么前置条件,以及浏览器拦下来的时候怎么继续。
请求发到哪里
Section titled “请求发到哪里”从你的浏览器,直接发到你在面板里填的那个地址。
- 你在下面填的地址与令牌,只存在你浏览器的本地存储里,也只发往那个地址。
- 本项目没有中间服务器、没有代理。绝不会有一条路径把用户的令牌或内网地址送到本项目的基础设施。
- 唯一的例外是页面本身:API 描述文档(
openapi.json)和 Scalar 的运行时都由文档站同源提供,不走外部 CDN。
因此这个功能不需要任何“公开 demo 实例”——它的目标从来就是你自己的实例。
1. 你的实例要对这个浏览器可达
Section titled “1. 你的实例要对这个浏览器可达”面板里填的地址必须是当前浏览器能访问到的。你在这台机器上跑文档站、实例在另一台机器上,那么
localhost 指的是浏览器所在的机器,不是实例所在的机器。
2. 在实例上打开跨源访问
Section titled “2. 在实例上打开跨源访问”设置页面里的 「为客户端 API 启用 CORS」 必须打开。默认是关闭的,此时浏览器会拒绝跨源请求。
打开之后,实例会允许浏览器预检所需的头——包括带 JSON 请求体时必需的 Content-Type。如果你的实例版本较
旧、带请求体的调用总是失败,多半就是这一项没有覆盖到。
3. HTTPS 页面只能调用 HTTPS 实例和 http://localhost
Section titled “3. HTTPS 页面只能调用 HTTPS 实例和 http://localhost”这是浏览器强制执行的规则,和 LANrurugi 无关:
| 文档站 | 你填的实例地址 | 结果 |
|---|---|---|
https://… |
https://lrr.example.com |
✅ 可用 |
https://… |
http://localhost:3000 |
✅ 可用(浏览器把 localhost 当作可信来源) |
https://… |
http://192.168.1.10:3000 |
❌ 被当作混合内容拦掉 |
http://… |
任意 | ✅ 可用(站点本身也是 HTTP) |
局域网 IP 不享受 localhost 那个豁免。想在 HTTPS 文档站上测试局域网里的实例,两条路:
- 给实例配 HTTPS:反向代理(Caddy / Traefik / nginx)、Cloudflare Tunnel,或者 VPN 里带证书的入口。
- 把端口转发到 localhost:
然后在面板里填
终端窗口 ssh -L 3000:127.0.0.1:3000 <跑着实例的机器>http://localhost:3000。浏览器把它当作可信来源,直接可用。
浏览器不允许的时候:用命令行
Section titled “浏览器不允许的时候:用命令行”每个端点都有一份可直接复制的命令行(cURL),在代码示例面板里。它由端点本身生成,不依赖浏览器、 不依赖 CORS、不依赖 HTTPS,永远可用——面板里发送失败时,用它。
curl -H "Authorization: Bearer <你的令牌>" \ "http://192.168.1.10:3000/api/archives?start=0&count=10"面板报错时怎么读
Section titled “面板报错时怎么读”- 网络错误 / failed to fetch:先看上面三条前置条件。最常见的是 CORS 没开、地址填错,或者那份「 混合内容」的组合。
- 401:令牌不对,或者令牌没有这个端点的权限。
- 403:令牌是访客类型的,而这个端点只允许管理员。
- 404:路径或档案 ID 不对。
在设置页面的令牌管理里创建。面板里的令牌字段只是把它放进 Authorization: Bearer <token> 头,存在你
浏览器的本地存储里,也只会发往你填的那个地址。