首页 > 解决方案 > Google Functions(免费)尝试访问 reCaptcha 验证时出错

问题描述

我是 Google Cloud Functions 和 reCAPTCHA 的新手。我已经使用 AngularJS 和 Express.js 作为后端构建了我的网站。我为 Express.js 使用了 express-recaptcha v5.0.1。

我已经测试了 reCAPTCHA(前端和后端),当我在本地运行时它工作正常。

但是当我部署后端时,我从 Google Cloud Functions 收到以下错误:

Error: getaddrinfo EAI_AGAIN www.google.com:443
    at GetAddrInfoReqWrap.onlookup [as oncomplete] (dns.js:67:26)

reCAPTCHA 验证方法是否被 Google Cloud Functions 的免费计划阻止?

这个 S/O 似乎表明应该没问题:我是否需要付费计划才能在 firebase 功能上使用 recaptcha?

我该如何进一步调试呢?

标签: expressgoogle-cloud-functionsrecaptcha

解决方案


在向 Firebase 团队提出支持案例后,事实证明,让 API 正常工作的唯一方法是使用https://recaptcha.google.com/recaptcha/api/siteverifyDoug 在评论中提到的这个 URL。

因此,我将不得不编写自己的模块/中间件来进行验证,以使其在“免费”Firebase 层上工作。


推荐阅读