用途:管理 Power Pages 生产站点前置的 Web 应用防火墙(WAF),查看状态与规则并按需调整防护配置。WAF 仅在生产站点和受支持区域可用,脚本会检测并报告资格限制;规则变更后边缘生效最多需一小时。
主要能力:get-status.js 查询防火墙状态,get-rules.js 获取自定义规则与托管规则;enable.js/disable.js 启用或停用(异步轮询至目标状态);set-rules.js 以 --data-inline 增量添加或更新规则;delete-rules.js --names 删除规则。工作流分准备、检查状态、选择动作、执行变更、汇总与后续建议五步。
使用方式:先在项目根查找 powerpages.config.json,读取 .powerpages-site/website.yml 的 id 作为网站记录 id,再执行 node "${PLUGIN_ROOT}/scripts/website.js" --websiteId "<WEBSITE_ID>" 解析 portalId。必须先运行 get-status.js,仅当状态值为 Created 时才调用 get-rules.js,否则规则接口会返回 500。启用与停用应以后台方式运行。
限制与注意:无法按站点名称解析,名称可能重复;只有网站记录 id 安全。B003 表示有并发操作进行中,需等待后重试。自定义规则优先级范围为 11–65000,1–10 为平台保留;规则按优先级先匹配者生效。set-rules.js 只增量合并,删除必须用 delete-rules.js。状态 Created 才代表防火墙正在过滤,其他值均表示无活动策略。不主动建议降低安全性的操作,向用户沟通时使用通俗语言。
适用场景:生产站点的防火墙开关、规则新增或更新、规则删除与状态审查。非生产站点、不支持区域或受限功能会由脚本识别并终止,具体错误码与区域可用性见 references/commands.md 的常见错误目录与区域可用性部分;规则字段见 references/rule-reference.md。