在 OpenResty Edge 中配置 HTTP 基本认证
今天我将继续演示 OpenResty Edge 产品。我将展示如何在网关应用中配置 HTTP 基本认证。
HTTP 基本认证是由网关服务器直接处理的。
为应用程序配置 HTTP 基本认证
像往常一样,让我们进入 OpenResty Edge 的 Admin Web 控制台。这是我们的控制台的样本部署。每个用户都有自己的本地部署。
让我们为我们的网关应用程序配置 HTTP 基本认证凭证。
我们可以继续使用之前的示例应用,test-edge.com。
进入这个应用程序。
添加一个基本认证用户组
转到 HTTP 基本认证账号页面。
我们支持添加一个或多个基本认证用户组。每个用户组可以有一个或多个用户。
添加一个新的基本认证用户组。
输入组名“tutorial-group”。这个用户组只是为了演示这个教程。
保存。
添加一个新的用户到这个组。
点击这个按钮来添加。
键入用户名“Sam”。
输入密码。
保存。
现在这个叫 “tutorial-group“ 的用户组中有了一个新用户。
顺便说一下,我们可以去基本选项卡编辑用户组的设置。这里我们不作修改。
关闭这个页面。
启用基本认证
转到页面规则页面,启用基本认证。
这个现有的页面规则已经设置了一个反向代理到一个预先定义的上游。我们在之前的教程中演示过这部分。
让我们添加一个新的页面规则。
添加一个新的动作。
输入“basic auth“进行搜索。
选择“启用基本认证”选项。
选择我们刚刚创建的基本认证用户组。
选择“app-tutorial-group”。
额外的“app-”前缀表示该用户组只用于当前的应用程序。而全局基本认证的用户组名称将得到额外的前缀“global-”。我稍后将会讲到全局 HTTP 基本认证的设置。
我们将这一规则设置为“置顶规则“,以确保这一规则总是被最先执行。你可以设置任何你想要的顺序。
保存这个规则。
像往常一样,我们需要发布来推送这个新改动。
点击这个按钮。
发布!
改动现在已经同步到所有的网关服务器。
现在,新的页面规则已经被推送到所有的网关集群和服务器。
我们的配置变化不需要服务器重载、重启或二进制升级。所以它是非常有效和可扩展的。
测试
让我们访问一下网关应用程序。我们可以看到,该页面触发了网络浏览器的认证对话框,而不是显示网页内容。
首先,尝试点击“取消”按钮。我们可以看到该页面变成了一个“401 未授权”的错误页面。
刷新该页面。
这一次,我们输入之前准备的正确的用户名和密码。
现在我们可以访问该网页了。
接下来,让我们用 curl
工具在命令行上测试 HTTP 基本认证设置。
在终端上,我们发送一个测试请求。
curl -sSI http://test-edge.com
我们可以看到响应是 401 Unauthorized。
让我们这次用 “u“ 选项来指定基本认证凭证。
这里是用户的名字。
这里是明文密码。
运行这个命令。
我们可以看到,现在的响应是 200 OK。我们通过了认证,服务器返回了最终的响应。
配置全局 HTTP 基本认证
除了在 Edge 应用程序内部配置基本认证外,我们还可以在 Edge 的全局配置中进行配置。全局认证用户组对所有 Edge 应用程序都是可见的。
添加全局基本认证用户组
转到全局配置页面。
进入全局基本认证凭证页面。
点击这个按钮,添加一个新的基本认证用户组。
输入组的名称。
保存。
现在我们已经创建了一个新的全局基本认证用户组。
我们也可以点击编辑按钮添加新用户。
现在点击这个按钮添加新用户。
输入用户名 “Kelly“。
输入密码。
保存。
为应用配置全局基本认证
现在 “tutorial-global-group“ 用户组中有了一个新用户。让我们看看如何为我们的网关应用程序配置全局凭证。
关闭此页面。
转到应用程序列表页。
搜索 test-edge.com 域名。
让我们进入这个应用程序。
转到页面规则页面。
编辑这个规则。
点击下拉列表,切换用户组。
我们可以在这里选择一个全局用户组。此修改被保存和发布后,该全局用户组中的用户凭证就会被使用。
这就是我今天要讲的内容。
关于 OpenResty Edge
OpenResty Edge 是一款专为微服务和分布式流量架构设计的全能型网关软件,由我们自主研发。它集流量管理、私有 CDN 构建、API 网关、安全防护等功能于一体,帮助您轻松构建、管理和保护现代应用程序。OpenResty Edge 拥有业界领先的性能和可扩展性,能够满足高并发、高负载场景下的苛刻需求。它支持调度 K8s 等容器应用流量,并可管理海量域名,轻松满足大型网站和复杂应用的需求。
如果你喜欢这个教程,请订阅这个博客网站和我们的 YouTube 频道 或 B 站频道。谢谢!
关于作者
章亦春是开源 OpenResty® 项目创始人兼 OpenResty Inc. 公司 CEO 和创始人。
章亦春(Github ID: agentzh),生于中国江苏,现定居美国湾区。他是中国早期开源技术和文化的倡导者和领军人物,曾供职于多家国际知名的高科技企业,如 Cloudflare、雅虎、阿里巴巴, 是 “边缘计算“、”动态追踪 “和 “机器编程 “的先驱,拥有超过 22 年的编程及 16 年的开源经验。作为拥有超过 4000 万全球域名用户的开源项目的领导者。他基于其 OpenResty® 开源项目打造的高科技企业 OpenResty Inc. 位于美国硅谷中心。其主打的两个产品 OpenResty XRay(利用动态追踪技术的非侵入式的故障剖析和排除工具)和 OpenResty Edge(最适合微服务和分布式流量的全能型网关软件),广受全球众多上市及大型企业青睐。在 OpenResty 以外,章亦春为多个开源项目贡献了累计超过百万行代码,其中包括,Linux 内核、Nginx、LuaJIT、GDB、SystemTap、LLVM、Perl 等,并编写过 60 多个开源软件库。
关注我们
如果您喜欢本文,欢迎关注我们 OpenResty Inc. 公司的博客网站 。也欢迎扫码关注我们的微信公众号:
翻译
我们提供了英文版原文和中译版(本文) 。我们也欢迎读者提供其他语言的翻译版本,只要是全文翻译不带省略,我们都将会考虑采用,非常感谢!