添加自定义标头并使用 AWS API Gateway 将其发送到后端服务

Posted

技术标签:

【中文标题】添加自定义标头并使用 AWS API Gateway 将其发送到后端服务【英文标题】:Adding Custom-Headers and send it to the Back-end service using AWS API Gateway 【发布时间】:2021-12-16 10:02:17 【问题描述】:

我有一个要求,当我点击 API 端点 (say GET https://XXX.XXX.domain.com/ama/api/v1/getdata) 时,请求必须到达 AWS API 网关。在 API Gateway 中,我希望在请求中添加一个自定义标头,并根据以下条件将其发送到后端服务 (LB):

    如果 URL (https://XXX.XXX.domain.com/ama/api/v1/getdata) 包含关键字 ama,则在请求中添加自定义标头,例如 service: ama。 另外,我希望将关键字 ama 从 URL 中删除并仅使用 /api/v1/getdata 发送到后端服务

AWS API Gateway 是否可以实现上述场景?

【问题讨论】:

【参考方案1】:

这是集成和方法转换的确切用例。查看此文档:https://docs.aws.amazon.com/apigateway/latest/developerguide/rest-api-data-transformations.html

这将为您提供一个起点,让您了解如何根据请求中的信息动态添加标头,以及修改终点作为您的第二点。

【讨论】:

以上是关于添加自定义标头并使用 AWS API Gateway 将其发送到后端服务的主要内容,如果未能解决你的问题,请参考以下文章

Cors - 如何处理需要自定义标头的预检选项请求? (AWS:使用 vpc 端点的私有 API 网关)

如何在自定义授权方 AWS lambda 函数中访问 http 标头

如何为 AWS API Gateway 自定义授权方配置 CORS?

如何将标头从请求传递到集成响应?

如何在 iOS 客户端中传递 AWS AppSync 自定义请求标头?

使用AWS Android SDK发送JWT令牌