架构师_程序员_码农网

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

搜索
查看: 837|回复: 1

【AWS】创建 HTTP API 类型的 API Gateway 网关

[复制链接]
发表于 2024-12-1 12:42:15 | 显示全部楼层 |阅读模式
需求:基于 AWS 创建一个网关,然后使用 Lambda 添加身份认证功能。

登录到 AWS 控制台,根据自己情况选择合适的地域,然后,创建 HTTP API 的网关,如下图:

QQ截图20241201113650.jpg

起一个名称,然后一直 next 即可(或者直接 Review and Create),其它配置稍后设置,最后一步点击 Create 创建,如下图:

QQ截图20241201113724.jpg QQ截图20241201113851.jpg QQ截图20241201113900.jpg QQ截图20241201113913.jpg

下面创建一个路由 /bbs 反向代理到此网站,填写“/bbs/{proxy+}”,路由的 Method 选择 ANY 就可以,就是允许所有的 HTTP 方法,如下图:

QQ截图20241201114315.jpg QQ截图20241201120346.jpg

创建完成路由后,选择路径点击右边的 Attach Integration 按钮,如下图:

QQ截图20241201120413.jpg

选择 Create and attach an integration 如下图:

QQ截图20241201120432.jpg

Integration type 类型选择 HTTP URI,详情里面填写具体的反向代理网址(https://www.itsvse.com/{proxy}),最后点击 Create,如下图:

QQ截图20241201120657.jpg QQ截图20241201120717.jpg

点击 API 查看端点地址,使用 postman 进行测试,如下图:

QQ截图20241201120809.jpg QQ截图20241201120829.jpg QQ截图20241201120854.jpg

现在网关地址任何人都可以进行访问,如果并不想公开访问,需要设置 Authorization 身份认证,从 AWS 后台找到 Lambda 菜单,创建一个函数,如下图:

QQ截图20241201121310.jpg

随便起一个名称:demo-authentication,运行时选择:node.js 22.x 版本,架构选择 arm64 即可(价格会便宜一些),最后点击 create function,如下图:

QQ截图20241201121456.jpg

编辑器代码如下:

QQ截图20241201121617.jpg

点击左侧的 deploy 部署按钮,如下图:

QQ截图20241201121654.jpg

设置 lambda 环境变量,点击 Configuration -> Environment variables -> Edit,如下图: QQ截图20241201122703.jpg QQ截图20241201122811.jpg QQ截图20241201122822.jpg

回到 API Gateway 网关控制面板,选择 Authorization 点击 create 创建,如下图:

QQ截图20241201122939.jpg QQ截图20241201123036.jpg QQ截图20241201123103.jpg

选择 Attach authorizers to routes,添加已有的身份认证,如下图:

QQ截图20241201123150.jpg QQ截图20241201123208.jpg

再次尝试使用 postman 请求接口,返回 401 状态吗和错误信息(Unauthorized),如下图:

QQ截图20241201123258.jpg

当我们在请求头里面添加身份信息(Authorization),可以请求成功,如下图:

QQ截图20241201123324.jpg

参考:

超链接登录可见。
超链接登录可见。

(完)





上一篇:【AWS】API Gateway 中 REST API 和 HTTP API 区别
下一篇:NPM 安装本地包、安装本地依赖
码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
 楼主| 发表于 2024-12-1 12:44:32 | 显示全部楼层
导出的配置




码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

免责声明:
码农网所发布的一切软件、编程资料或者文章仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。如有侵权请邮件与我们联系处理。

Mail To:help@itsvse.com

QQ|手机版|小黑屋|架构师 ( 鲁ICP备14021824号-2 )|网站地图

GMT+8, 2025-6-15 20:56

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表