今天,我将演示如何为应用配置 OpenResty Edge 内置的验证码。

Embeded image

为应用配置 OpenResty Edge 内置的验证码

OpenResty Edge 内置的验证码是一个直接从 OpenResty Edge 网关服务器返回的验证码响应。

Embeded image

像往常一样,让我们进入 OpenResty Edge 的 Admin Web 控制台。这是我们控制台的样本部署。每个用户都有自己的本地部署。

Screenshot

我们继续使用 test-edge.com 这个应用来演示 OpenResty Edge 的内置验证码功能。

Screenshot

进入该应用。

Screenshot

在之前的教程中我们已经定义了一个上游。

Screenshot

这个 my_backend 上游定义了一个后端服务器。

Screenshot

这里也有一个已经定义好的页面规则。

Screenshot

在之前的教程中,这个页面规则设置了一个反向代理到我们刚刚看到的上游。

Screenshot

现在添加一个新的页面规则来启用 OpenResty Edge 内置的验证码。

Screenshot

注意我们没有为这个规则设置任何条件。这意味着该规则将无条件地被触发。

Screenshot

添加一个新的动作。

Screenshot

输入 “captcha” 进行搜索。

Screenshot

选择 “Enable OpenResty Edge Built-in Captcha” 选项。

Screenshot

当客户端通过验证码验证后,在指定的一段时间之内,OpenResty Edge 将允许来自同一客户端的所有请求,这个时间段被称为 clearance time。验证码是通过 cookie 记录验证信息的。

Screenshot

我们将这个时间设置为 10 秒。

Screenshot

将这个规则置顶,以确保优先执行此规则。这样设置是为了方便我们进行演示。你可以设置成任意的顺序。

Screenshot

保存这个规则。

Screenshot

像往常一样,我们需要发布新的配置来推送我们编辑过的页面规则。

Screenshot

点击这个按钮。

Screenshot

发布!

Screenshot

已经完全同步。

Screenshot

现在,新的页面规则已经被推送到所有的网关集群和服务器。

Embeded video

Embeded video

Embeded video

我们的配置变化不需要服务器重载、重启或二进制升级。所以它是非常高效和可扩展的。

Embeded image

测试

现在来访问这个域名。可以看到,该页面返回 OpenResty Edge 内置的验证码页面,而不是我们源站的内容。

Embeded video

输入验证码。

Embeded video

现在可以看到该 URI 预期返回的内容。注意我们刚才把 clearance time 设置为 10 秒。这表明我们可以在 10 秒内不使用验证码访问该域名。

Embeded video

10 秒过后,则需要再次验证。

Embeded video

除了在动作中设置验证码之外,我们还可以在 WAF 规则中设置验证码。我们会在另一个视频中演示 WAF 规则的具体功能。

Screenshot

现在先让我们简单了解一下如何在 WAF 规则中设置 OpenResty Edge 的内置验证码。

Screenshot

启用 WAF。

Screenshot

这里可以将 block action 设置为 OpenResty Edge 内置的验证码。

Screenshot

选择内置的验证码选项。

Screenshot

Screenshot

和之前设置动作的时候一样,需要在这里设置一个 clearance time。这里我就不详细演示了。详情可以查看与 WAF 规则相关的视频。

Screenshot

顺便说一下,我们也支持第三方验证码服务 hCaptcha。你可以在 OpenResty Edge hCaptcha 的教程视频中详细了解这个功能。

这就是我今天要讲的内容。

如果你喜欢这个教程,请订阅这个博客网站和我们的 YouTube 频道B 站频道。谢谢!

关于本文和关联视频

本文和相关联的视频都是完全由我们的 OpenResty Showman 产品从一个简单的剧本文件自动生成的。

关于作者

章亦春是开源 OpenResty® 项目创始人兼 OpenResty Inc. 公司 CEO 和创始人。

章亦春(Github ID: agentzh),生于中国江苏,现定居美国湾区。他是中国早期开源技术和文化的倡导者和领军人物,曾供职于多家国际知名的高科技企业,如 Cloudflare、雅虎、阿里巴巴, 是 “边缘计算“、”动态追踪 “和 “机器编程 “的先驱,拥有超过 22 年的编程及 16 年的开源经验。作为拥有超过 4000 万全球域名用户的开源项目的领导者。他基于其 OpenResty® 开源项目打造的高科技企业 OpenResty Inc. 位于美国硅谷中心。其主打的两个产品 OpenResty XRay(利用动态追踪技术的非侵入式的故障剖析和排除工具)和 OpenResty Edge(最适合微服务和分布式流量的全能型网关软件),广受全球众多上市及大型企业青睐。在 OpenResty 以外,章亦春为多个开源项目贡献了累计超过百万行代码,其中包括,Linux 内核、Nginx、LuaJITGDBSystemTapLLVM、Perl 等,并编写过 60 多个开源软件库。

关注我们

如果您喜欢本文,欢迎关注我们 OpenResty Inc. 公司的博客网站 。也欢迎扫码关注我们的微信公众号:

我们的微信公众号

翻译

我们提供了英文版原文和中译版(本文)。我们也欢迎读者提供其他语言的翻译版本,只要是全文翻译不带省略,我们都将会考虑采用,非常感谢!