启用域名验证时Cloud Armor无法触发Recaptcha令牌校验规则
问题原因及解决方案
核心原因
Recaptcha Enterprise的域名验证会严格校验生成令牌的来源域名是否在密钥配置的允许列表内。你通过本地localhost站点生成令牌,但localhost大概率没被添加到Recaptcha密钥的允许域名列表中,所以启用域名验证时,Recaptcha直接判定令牌无效,Cloud Armor无法获取到有效令牌,自然不会触发校验规则,最终请求被deny-all规则拦截。
解决步骤
- 登录Recaptcha Enterprise控制台,找到对应密钥,把
localhost(或你本地测试用的站点域名/IP,比如带端口的localhost:3000)添加到允许域名列表里。注意域名不要带http://或https://前缀。 - 确保测试页面的域名和密钥允许的域名完全匹配,包括端口号(如果使用了非默认端口)。
- 确认Cloud Armor规则优先级:保证Recaptcha令牌校验规则的优先级高于deny-all规则,避免请求还未进入校验逻辑就被拦截。
内容的提问来源于stack exchange,提问作者Alejandro Barone
相关产品推荐
相关产品推荐

