Firebase AppCheck部署至Cloud Run后无法正常工作求助
可能的错误点及修复方案
检查Recaptcha允许域名的格式
确保在Recaptcha控制台添加的是不带协议、不带路径的纯域名,比如只填development.mydomain.xx,而非https://development.mydomain.xx/。Recaptcha的允许域名列表不支持带协议或斜杠的格式,填错会导致无法识别。确认Firebase AppCheck与Recaptcha密钥绑定正确
检查Firebase控制台中AppCheck对应的Recaptcha V3站点密钥,是否和Recaptcha控制台里绑定了development.mydomain.xx的密钥完全一致。密钥错配会直接触发拦截。验证请求referer头是否正常传递
部分反向代理或CDN配置可能修改/丢失referer头,导致Firebase AppCheck无法识别来源。可以在Web应用中添加调试代码,打印当前请求的referer头,确认它确实是https://development.mydomain.xx/(或对应页面的完整路径),没有被篡改。检查Firebase AppCheck的Web来源白名单
除了Recaptcha的域名设置,Firebase AppCheck自身也有Web应用来源限制。进入Firebase控制台的AppCheck设置,确认你的自定义域名已被添加到允许列表中。等待Recaptcha配置全局生效
Recaptcha的域名变更并非即时生效,可能需要几分钟到十几分钟的同步时间。如果刚添加完域名就测试,建议等待一段时间后重试。兜底检查Cloud Run自定义域名的HTTPS配置
确保Cloud Run自定义域名已正确配置HTTPS证书,且访问使用标准443端口。Recaptcha V3会拦截生产环境的非HTTPS请求,虽然你的错误提示显示是HTTPS,但可作为最后排查项。
内容的提问来源于stack exchange,提问作者Jakub Piga

