Appearance
安全与外部验收
代码、部署模板和本地构建可以交付;服务器、域名、证书、真实 npm 发布、供应商服务和目标浏览器必须单独验收。 本文的初始外部状态均为“待验收”,不是已验证的生产承诺。 只有记录环境、操作、结果和证据后,才可修改相应状态。
状态表
主交付采用宝塔 Nginx 静态网站,Docker/registry 鉴权、撤包与命名空间条目仅用于可选私有 npm。静态站点必须额外记录:官网下载 TGZ 与 ZIP 内 vendor 哈希一致;全部教程可运行;缺失 Worker/模型返回 404;模型展示/再分发已授权;动态 Cesium/数据源署名可见;没有旧内网请求;保留上一版站点并演练回退。
| 静态站点项目 | 初始状态 | 验收条件 |
|---|---|---|
| 交付文件一致性 | 以本次实际记录为准 | 独立安装、ZIP vendor、HTTP 下载的 TGZ SHA-256 一致 |
| 官网和八类教程 | 以本次实际记录为准 | 导航、下载、教程数据和交互可用 |
| 真实域名与 HTTPS | 待外部验收 | DNS、证书、混合内容、Workers 与 404 路由正确 |
| 供应商和数据授权 | 待外部验收 | 天地图真实 Key/域名测试;模型允许公开展示和再分发;署名可见 |
| 回退与备份 | 待外部验收 | 保留上一版完整站点,演练切换根目录及恢复 |
以下 registry 专属条目只在使用私有 npm 时验收:
| 项目 | 初始状态 | 验收条件 |
|---|---|---|
| 文档构建 / 本地包检查 | 以本次实际日志为准 | 根路径与子路径文档可构建;包检查无泄密、Cesium 保持 external |
| Docker / 持久化 | 待外部验收 | 在目标服务器启动;容器重建后账户、包、内部密钥及索引保留 |
| DNS / HTTPS | 待外部验收 | 公网或目标内网正确解析,证书链有效,未关闭 strict SSL,续期演练完成 |
| 端口隔离 | 待外部验收 | 4873 不能从外网访问;80 跳 HTTPS,443 可用 |
| 匿名读取 | 待外部验收 | 无任何凭据、干净缓存的消费项目能安装真实 SDK 确切版本 |
| 发布鉴权 | 待外部验收 | 匿名发布和错误凭据被服务端拒绝;指定账户可发布作用域测试包 |
| 命名空间保护 | 待外部验收 | 未发布的 @shardx-map/* 不回源公网;其他包可代理 npm;非私有作用域发布被拒绝 |
| 撤包限制 | 待外部验收 | 已认证发布者仍不能 unpublish;核查标签/元数据操作符合团队策略 |
| 远端包完整性 | 待外部验收 | metadata/tarball 均为正确 HTTPS URL,integrity 校验成功,新项目消费不依赖 workspace |
| 备份恢复 | 待外部验收 | 在新卷/隔离主机恢复并通过安装、登录、权限和校验和验证 |
| 天地图矢量与影像 | 待外部验收 | 真实 key + 真实域名分别加载底图与注记,授权/额度/署名确认 |
| XYZ / WMTS | 待外部验收 | 实际服务 CORS、矩阵级别、坐标、失败上报正确 |
| 3D Tiles 服务 | 待外部验收 | 有效认证下根文件与子内容加载、模型位置与尺度正确,跨域及 HTTP/HTTPS 配置通过 |
| 浏览器与资源 | 待外部验收 | 目标浏览器 WebGL2、Workers、CSP、CSS、子路径资源、重建实例和交互通过 |
验收测试约束
发布相关检查会改变远端状态,只在运维授权的测试 namespace/环境操作。 使用例如 @shardx-map/acceptance-probe 的一次性测试包和唯一版本,预先计划保留策略;生产规则禁撤包,不保证能删除测试版本。 拒绝测试也可能在配置错误时发布成功,因此不能拿正式 SDK 或公网包名做匿名发布探针。 所有探针显式指定自建 registry,不修改其公网同名包。
“npm 客户端因没有登录而报 ENEEDAUTH”只能证明客户端拒绝操作,不能证明服务器鉴权正确。 需要查看实际服务端请求/响应或受控集成测试证据。匿名安装使用隔离用户配置、隔离目录和全新缓存,排除本机 token、全局配置及缓存命中。
瓦片测试须区分:本地测试网格验证功能、模拟失败验证错误通道、真实供应商请求验证网络与授权。 本地网格截图不能标记天地图验收完成。HTTP 200 也不足以证明返回的是正确瓦片,需核查图片、署名与已知地理控制点。
安全边界
SDK 运行于浏览器,不存放发布密码或服务器密钥。天地图 key 可在浏览器观察,应限制域名、额度并具备轮换流程。 字符串弹窗不解析 HTML;DOM 元素由业务负责可信创建,禁止直接把未经净化的外部 HTML 写入 innerHTML。 业务 icon、瓦片和资源 URL 仍须遵守 HTTPS、CORS、CSP 与内容来源策略。
registry 中的 tarball、htpasswd 哈希、内部 token 签名密钥、TLS 私钥和备份均受运维权限管理。 不要假定改密码或移除 htpasswd 账户就能立即吊销所有已发 token;依据锁定的 Verdaccio 版本验证实际失效行为, 事件响应时按官方机制轮换签名密钥并通知用户重新登录,避免无意让全部客户端失效。
SDK 的错误消息会做有限脱敏,浏览器请求、代理日志、供应商响应与业务事件不在完整保障范围内。 提交日志、HAR、截图前去除 token、key、个人信息与敏感业务坐标。对外文档不保存真实凭据和完整运维拓扑。
本地记录模板
将下列内容存入受限位置,例如被忽略的 deploy/acceptance.local.md;不要把凭据填入模板。
text
版本/源码引用:
SDK tarball SHA-256 / registry integrity:
Node/npm/Docker/Compose 版本:
Verdaccio/Nginx/账户工具镜像 digest:
测试时间(含时区)/执行者/复核者:
目标环境/域名(内部记录):
逐项结果:通过 / 失败 / 未执行
脱敏后的命令、响应状态、日志/截图位置:
备份时间点/校验和/恢复用时/RPO/RTO:
已知限制/负责人/后续动作:
上线及 latest 提升批准:未执行项保持未执行。不要由某一项通过推断其余项通过,也不要将本地测试日期写成真实发布日期。