子站和分站要不要各自放一份密钥文件,推送时归属怎么算
多站点或子域名场景下做链接主动推送时,是每个主机单独放一份密钥文件还是可以共用,这取决于密钥文件证明的是哪一层归属:它证明的是「这个主机由你控制」,不是「这些站同属一个品牌」。按公开提交通道的规定,每个子域被视为独立的主机,需要为每个子域创建和管理单独的密钥文件,所以答案是各放一份,共用一份会在归属校验那一步失败。
密钥文件证明的是哪一层
提交地址前,接收方要先确认提交者有权代表这个主机。密钥文件的机制就是把凭证放到主机上,让校验方能通过公开地址读到它:文件内容与提交时带的密钥标识对上,归属成立。这一层判定发生在主机维度上,跟站点内容是不是同一套模板、后台是不是同一个实例都没有关系。品牌矩阵里十个站共用一套设计,仍然分别属于十个主机身份。
放在根目录和放子目录的差别
规定允许两种位置:网站根目录下,或者同一主机上可公开访问的文件夹中,无需登录即可读取。差别在校验时拼出的地址形式——放子目录时提交侧要能给出对应路径,路径写错的表现是校验失败而不是内容不可见。可公开访问是硬条件:加了登录、加了内网限制、或者被排除规则挡住的目录都不满足要求,反过来说,这份文件本身不含敏感内容,它只是归属凭证,不必当作秘密材料来藏。
子域名为什么被当成独立主机
因为抓取与检索侧把子域当作独立的抓取对象来处理:主机名不同,robots 与站点级配置各自读取,索引归属也各自计算。提交通道沿用同一口径,就出现了「主站已验证、子域仍要单独验证」的结果。同一主机下的多个目录型站点则不同,它们共享主机身份,一份密钥文件可以覆盖到该主机。
| 场景 | 归属判定层级 | 密钥文件份数 |
|---|---|---|
| 主站根域下单目录站 | 同一主机 | 一份可覆盖 |
| 每个品牌一个子域 | 子域各自独立主机 | 各放一份 |
| 每个品牌一个独立域名 | 主机不同 | 各放一份并分别提交 |
| 多语言站按路径分语言 | 同一主机 | 一份即可 |
| 测试环境与生产环境同主机名 | 以实际公开主机为准 | 生产主机一份 |
多站点后台里凭证按站点存还是按主机存
站内多站点管理支持管理多个独立站点,适合多品牌、多主题的场景。落地到推送配置上,建议按主机维度存凭证、按站点维度做映射:一个站点绑定它实际对外服务的主机名与密钥文件路径,配置复制到其他站时不要连带把旧主机的凭证一起带过去。常见的错误形态是「一套凭证配到所有站」,表现是部分站提交成功、子域站持续校验不过;另一类错误是密钥文件放进了带登录保护的目录,公开读取失败。
上线前的三步核对
第一步,用未登录的会话直接访问每个主机的密钥文件地址,确认可读到且内容与实际提交值一致。第二步,检查这份地址没有被 robots 配置排除、也没有被 CDN 的缓存规则改写。第三步,用少量地址做一次提交,看归属校验是否通过,再放大批量。三步都过了再排队列,比一次全量提交后回头查失败原因省时间。
常见问题
问:同一台服务器上的多个站能不能共用一份密钥文件? 答:要看主机名。同一主机名下按路径区分的站可以覆盖;不同主机名各自独立,需要各自的密钥文件。
问:密钥文件要不要放进后台目录一起保护? 答:不要,它必须可公开访问。保护它没有意义,真正要收口的是后台接口的鉴权与暴露范围。
问:换了子域命名规则后要做的事是什么? 答:按新主机分别放置与提交,并清理旧主机上不再使用的配置,避免推送队列里混着校验不过的地址。