Short_NURL
开始之前:
本文档适用于 Short_NURL v1.11.0;其他版本的路由、认证和数据同步行为可能不同。
一、项目简介
Short_NURL 是一个面向个人部署的轻量短链服务:OpenResty(Nginx + Lua)负责短码匹配、共享内存查询和 301 / 302 跳转,PHP-FPM 负责 WebUI / API、认证及 JSON 持久化。
它不依赖 MySQL 或 Redis,以 perm.json、temp.json 保存短链,以 lua_shared_dict 作为跳转热存储。
二、核心特性
无需外部数据库
无需 MySQL、Redis,运行依赖 OpenResty 和 PHP-FPM。
内存跳转路径
完成冷启动后,正常跳转只查询
lua_shared_dict,不经过 PHP-FPM。冷热分层
JSON 冷存储持久化数据,共享内存提供跳转热路径;驱逐恢复与冷启动会读取 JSON。
永久 / 临时短链
支持永不过期和定时过期的短链。
多类 Key 认证
支持常驻 Key、一次性 Key,以及仅用于无头链路的服务 Key。
内部通信认证
PHP 与 Lua 的内部端点同时受网络访问控制和
LPA-Key 保护。三、服务模式
Short_NURL 可以按需要启用以下 3 种服务方式,并提供本地 nurl 与远程 nurl-key CLI 工具:
同时开放 WebUI 的
/api/* 与无头链路的 /headless/api/*。两条管理链路路由和请求头分离,但复用同一套 PHP 业务逻辑、JSON 数据与 OpenResty 热存储。推荐使用双线模式,二者互不影响。