Firebase Hosting绑定自有域名遇DNS TXT记录验证不匹配问题
我之前也碰到过几乎一模一样的问题!当时折腾了好一会儿才搞明白怎么回事,给你几个排查和解决的方向:
检查DNS记录的格式差异
有些DNS服务商(比如Cloudflare、GoDaddy)在添加TXT记录时,界面字段名和Firebase的表述可能不一样。Firebase提示的value是单值,但你的DNS解析返回了values(多值数组),大概率是你不小心在同一条TXT记录里填了多个内容,或者服务商自动拆分了字符串。登录你的域名DNS管理后台,找到那条验证用的TXT记录,确认内容是唯一的,没有多余空格、换行或字符,只保留Firebase给你的那串验证字符串。耐心等待DNS记录生效
DNS记录的全球同步存在延迟,哪怕你在后台看到保存成功,Firebase的检测系统可能还没抓取到最新数据。建议等15-30分钟(甚至1小时),再回到Firebase控制台点击「重新验证」按钮试试——我当时就是等了快半小时才验证通过的。排查旧TXT记录的冲突
你的域名之前指向WordPress,可能存在其他旧的验证记录(比如Google Search Console的)。如果这些记录和Firebase的验证记录在同一个主机名下(比如@或www),DNS解析会返回所有匹配的TXT值,导致Firebase检测到多值。可以先暂时删掉无关的TXT记录,等验证通过后再重新添加回去。确认主机名完全匹配
一定要确保添加TXT记录的主机名和Firebase要求的一致。比如Firebase要求在@(根域名)下添加,就别填成www,反之亦然。主机名不匹配有时候会被系统误报成值不匹配的问题,这点很容易忽略。
内容的提问来源于stack exchange,提问作者Zach G

