问题标签 [amazon-api-gateway]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
208 浏览

amazon-web-services - ALB 的 API 网关

我有一个关于#apigateway 的问题,并提前感谢您提供的所有见解。

#aws #apigateway REST API 似乎只能使用私有链接与开箱即用的网络负载均衡器集成。但是在我的用例中,我想使用 Application Load Balancer,唯一的方法是让它面向 Internet 的负载均衡器吗?

如果是,你们对这个解决方案架构有什么看法?一天结束时,我希望只能通过 API Gateway 访问 Application Load Balancer。您认为此解决方案有哪些风险?

在此处输入图像描述

#awscloud #awscertified #awscommunity #awssecurity #aws #cloudarchitecture

0 投票
2 回答
1073 浏览

amazon-web-services - 如何根据 AWS API Gateway 中的请求标头动态设置集成端点?

我想根据请求中收到的请求标头将传入请求代理到不同的端点。

在 AWS API 网关中,我可以将不同的端点设置为单独的阶段变量,但在集成 >> 端点 URL 设置中,我想根据请求标头值的值选择阶段变量。

例如:

如果标头值为 brand-id: abc 那么请求应该被代理到 abc.test.com

如果标头值为 brand-id: pqr 那么请求应该被代理到 pqr.test.com

我在“端点 URL”值中期待这样的东西: http://${stageVariables.${method.request.header.brand-id}}/

任何帮助实现这一点将不胜感激。

0 投票
1 回答
726 浏览

amazon-web-services - AWS API Gateway 给出“多个客户端证书通过”错误

我已经为我的 API 网关设置了双向 TLS 身份验证。然后我将我的客户端证书放在信任库中。该文件包含客户端证书、中间证书和根证书(私有 CA)。

使用浏览器(Windows 上的 Chrome)访问 API 网关时,浏览器要求我提供客户端证书。我选择了与我放在信任库中相同的证书。

API Gateway 在浏览器中报告以下内容:

{"message":"无效的客户端证书链。通过了多个客户端证书"}

更新:我还尝试在信任库中仅放置中间证书和根证书。同样的错误。

更新 2:使用 C# 代码 (WebClient) 从 Windows 证书存储区或磁盘(pfx 文件)加载证书时,也会报告相同的错误。

0 投票
1 回答
120 浏览

amazon-web-services - DB 的 API 网关(将所有请求路由到 DB)

我们正在使用 AWS API 网关在内部转发到我们拥有的一些 REST API。我们有一个 host:abc.amazonaws.com和一个服务器,我们有 API:doSomething()doNothing().

我们已经配置了网关,所以我们可以这样做:https://abc.amazonaws.com/doSomething它会在内部转发到我们定义 API 的服务器。这很好用。

我们的目标是希望一切都通过网关并使用 https。后面的服务器可能会不断变化,但我们应用程序中配置的网关应该保持不变。

现在,我们的应用程序还指向一个正在侦听端口 5984 的 CouchDB 服务器。该数据库实例也在部署上述 REST API 的同一台服务器上运行。

是否可以配置 AWS API 网关,以便将特定端口上的所有请求转发到特定主机?例如:在这里,我希望来自https://abc.amazonaws.com端口 5984 的所有请求都转到我们在端口 5984 上拥有的服务器(对于 CouchDB)

0 投票
0 回答
254 浏览

amazon-web-services - Cloudfront 分发指向 S3 而不是 API Gateway,产生 404 错误 NoSuchKey

我创建了一个有效的 API 网关。https://example-api.amazonaws.com/Prod/some/endpoint如果我通过API手动触发端点会给我想要的结果。此外,我还设置了一个云端行为,以在路径包含/api/*.

如果我现在通过云端分发访问端点:https://xxxxxxx.cloudfront.net/some/endpoint它会给我一个 404 错误。Cloudfront 正确地将 /prod 附加到告诉我某些东西至少在工作的路径中。

更具体地说,它给了我:

我可以看到云端分发工作正常,因为它重定向正确。我已经为此苦苦挣扎了一段时间。这个错误代码是否有帮助?

在进行了更多挖掘之后,似乎云端分布正在我的 s3 中寻找带有密钥的对象。所以由于某种原因,PathPattern: /api/v1/*没有重定向到APIOrigin.

我在下面附上了我的 Cloudformation 模板:

但是,奇怪的部分仍然存在于 cloudfront 发行版附加的/prod. 看起来好像 pathPattern 正确路由到 API Gateway。

编辑:目前认为我可能缺少 API 网关的标头。

0 投票
2 回答
3174 浏览

amazon - 使用 curl 连接到 Amazon Selling Partner API

我必须在我的问题中添加更多详细信息,所以这是我尝试从我的卖家中心账户获取订单:

我使用了这个示例文件: https ://github.com/avi-wish/aws4-signature-php 不幸的是没有变量 $host 的示例 URL

如果我测试连接,这是我的回应:

我在这里找到了一个可能的解决方案:

https://github.com/amzn/ sell-partner-api-docs/issues/52#issuecomment-713522351

但这对我不起作用。

之前创建一个 IAM 用户有必要吗?这是我创建它的方式:
https ://github.com/amzn/ sell-partner-api-docs/blob/main/guides/developer-guide/SellingPartnerApiDeveloperGuide.md#registering-your- sell-partner-api-应用

我想很多人都有同样的问题。希望有人能给我一个提示。

获取访问令牌后,卷曲返回错误:

0 投票
0 回答
397 浏览

amazon-web-services - 亚马逊礼品卡在 PHP Laravel 中加载亚马逊余额 API 集成

我想通过在他们的亚马逊账户中给他们礼品卡余额来奖励注册我的应用程序的用户,为此我使用了类似于 Amazon Incentive api 的 Load Amazon Balance api。

亚马逊需要数字签名的授权负载才能访问 api。我将我的代码与亚马逊使用 aws 密钥和 aws 访问密钥进行数字签名的过程进行了比较。但它仍然给我

我在帖子中附上了我班级的代码。任何人都可以通过查看代码并告诉我在向 api 发送信息的过程中是否有任何错误来帮助我。谢谢。

0 投票
0 回答
143 浏览

aws-lambda - ServerlessError:部署无服务器 AWS apigateway 时文档部分已存在

当我将文档对象中的版本从版本:“8.0.2”更新为版本:“9.0.1”时,我在部署时收到 [ServerlessError: Documentation part already exists]。

serverlessErrorImage1 serverlessErrorImage2

但是,通过将文档对象中的版本从版本:“9.0.1”更新为版本:“9.0.2”,再次运行部署时它会成功。

我无法理解 serverless-aws-documentation 版本控制在部署时是如何工作的。

0 投票
0 回答
90 浏览

amazon-web-services - 如何使用 Cognito 保护对 API Gateway 的访问并使其只能通过 CloudFront 访问?

我目前必须使用 AWS 设置的用例有几个限制:

  • 我必须使用 Cognito 用户池作为我的 API 资源的授权方(到目前为止没问题)
  • 我还必须使 API 只能通过 CloudFront 分配访问(例如 S3 存储桶的 OAI)

为了设置这个用例,我将使用附加到 CloudFront 的 Lambda@Edge 来生成请求签名 (SignV4),另一方面,我将使用自定义授权器来验证请求的签名除了使用 Cognito 验证身份验证之外,还使用 ​​Lambda@Edge 生成。

只有我不知道该怎么做,尤其是如何在自定义授权方(AWS SDK)中使用 Cognito。你觉得这个解决方案怎么样?

我发现的唯一其他解决方案是这个,但对我来说,它不应该是 API 密钥的使用,而且在我看来,签名请求解决方案似乎是一个更好的选择。

你知道更好的吗?

任何帮助将不胜感激,谢谢

0 投票
2 回答
51 浏览

c - 如何将 Amazon SNS api 与 c 一起使用

我无法从 c 中找到有关如何使用 Amazon SNS API 的文档。有人可以指出我正确的方向吗?是否有 API 的 ac 构建或我从源代码构建?如果是这样,怎么做?

我打算从命令行将它与 borland c++ 编译器一起使用。