用 services.toml 发布服务
先确认本机应用可用,再由 Node 声明并上报 Service,最后在访问授权中决定谁可以使用。NSD 不替你创建、扫描或健康检查后端应用。
配置位置默认
/etc/nsio/services.toml,也可由 --services-file 显式覆盖。上报方式运行中的 NS 读取完整集合,通常约 5 秒热重载并重新上报。
访问边界Service 出现在目录中不等于任何其他主体已经获准访问。
services.toml 是 Node 的本地服务声明,也是本机最终边界。默认路径为 /etc/nsio/services.toml,也可用 ns up --services-file <PATH>指定。文件缺失表示不发布任何 Service;文件存在但语法/字段错误应明确失败。
也可从 NSD 服务页点击 使用说明打开本指南。
示例
上线步骤
- 在 Node 本机用
ss、lsof或应用自带健康检查确认目标地址、端口和协议。 - 写入/修改配置并限制文件权限;Service 配置不应包含应用密码、API Key 或证书私钥。
- 保存文件;运行中的 NS 通常约 5 秒内热重载并重新上报,无需重启。仅当进程未运行时才重新执行
ns up --detach --wait-ready。 - 执行
ns status --all,并在 NSD 服务核对完整集合、上报 Node、协议、端口与最后同步时间。 - 打开 访问授权,选择准确主体与该 Service;不要为了验证一个端口而授权整个 Node。
- 从获授权设备访问 Service 地址,再从未授权设备验证不可见且不可达。
完成标准:NSD 中的名称、协议、端口、上报 Node 和最后同步时间与本机声明一致;已授权设备真实访问成功,未授权设备既不可见也不可达。
更新与删除
Node 上报的是当前完整集合。改名通常表现为删除旧资源再新增,这会产生新的 Service 身份并使基于旧 ID 的授权不再匹配。安全变更顺序是:新增新定义 → 等待上报 → 新增授权并验证 → 迁移调用方 → 删除旧授权和旧定义。
删除 Service 前先确认访问授权、公网入口、监控和业务调用方。删除配置后等待最新上报,确保目录不再显示可用;删除 Service 不会替你停止本机应用进程。
常见失败
- 本机地址/端口未监听;
- HTTP/HTTPS 协议声明与真实服务不一致;
- 当前 Node 位于错误 Space;
- Service 已发布但没有访问授权;
- 服务目录是最新的,但客户端仍使用切换前缓存。
允许获授权设备使用 Service 地址完成真实应用请求。
拒绝未授权设备看不到目录项,并且直接连接也失败。
后端Node 上本机端口、应用日志和 NSD 上报内容完全一致。