GCP reCAPTCHA Enterprise密钥开发环境正常但测试/生产环境不可用
reCAPTCHA测试环境异常排查项
- reCAPTCHA控制台域名白名单配置:谷歌reCAPTCHA默认仅允许管理后台绑定的域名发起验证请求,本地开发的
localhost/127.0.0.1默认在白名单内无需额外配置,你需要确认是否已经将测试环境的完整域名、子域名、访问IP(如果直接用IP访问)添加到对应密钥的允许域名列表中,同时注意域名是否带www、是否启用了通配符域名配置都要和实际访问地址匹配。 - Azure网络访问限制:检查测试环境对应的Azure资源(应用服务、虚拟机、容器实例等)的出站访问规则:
- 确认网络安全组(NSG)、WAF、Azure防火墙没有阻止到
https://www.google.com/recaptcha/api/siteverify接口的443端口出站请求 - 如果测试环境部署在隔离VNet内、未开通公网出站权限,需要配置对应出站规则允许访问reCAPTCHA服务端点
- 若使用中国区Azure,需要确认是否有合规的谷歌服务访问通路
- 确认网络安全组(NSG)、WAF、Azure防火墙没有阻止到
- Azure配置覆盖问题:Azure应用服务的部署槽位、应用配置中心的参数优先级高于代码打包时的配置文件,即使你确认代码中用了同一套密钥,也需要排查测试环境槽位的环境变量、配置项是否覆盖了reCAPTCHA的密钥参数,可在测试环境临时输出密钥前几位校验是否为预期值。
- 额外校验逻辑遗漏:排查服务端reCAPTCHA验证逻辑是否有额外的校验规则,比如校验请求的
Referer头、请求来源域名,测试环境的域名如果没有加入自有逻辑的白名单,也会导致验证拦截。 - reCAPTCHA功能开关配置:如果使用的是reCAPTCHA企业版,需要确认对应密钥是否绑定了测试环境所属的项目权限;如果开启了“测试模式”仅对开发环境生效,也会导致测试环境的验证请求被拦截。
内容的提问来源于stack exchange,提问作者Aidan Mc Carron
相关产品推荐
相关产品推荐

