amazon-api-gateway

为什么 CloudFront 无法将标头从源传递到客户端?
amazon-api-gateway

为什么 CloudFront 无法将标头从源传递到客户端?

我已将 CloudFront 配置为 API 网关源。在通过 API 网关访问的应用程序中,我的应用程序使用标头响应特定请求,Content-Disposition以便将数据作为具有特定文件名的附件下载。 如果我直接访问我的 Web 应用程序,则Content-Disposition标头会按预期返回。但是如果我通过 CloudFront 访问它,则该标头根本不在响应中。 我不明白为什么会这样 - 为什么 CloudFront 会忽略从此来源发回的标头?我尝试了几种方法: 向源添加自定义标头(具有空白值的 Content-Disposition)。这导致标头...

Admin

AWS API 网关 + Cognito + IAM
amazon-api-gateway

AWS API 网关 + Cognito + IAM

我正在为公司开发 API。我试图使用 IAM + Cognito 限制外部用户访问特定端点的特定方法。目前我有一个 Cognito 用户池,有两个组(内部和外部)。每个组都设置了 IAM 角色,并为 API 网关资源设置了正确的权限。我只是不确定如何完成所有连接以防止外部用户使用 POST/PUT/DELETE 方法。 ...

Admin

如何让 AWS API 网关拒绝除 GET 和 POST 之外的其他方法
amazon-api-gateway

如何让 AWS API 网关拒绝除 GET 和 POST 之外的其他方法

我有一个使用 lambdas 的 API,部署在 AWS 中。该 API 使用 .Net Core 编码,前端使用 angular15 编码。 我需要当从 Web 应用程序的基本 URL 调用时,拒绝任何非 GET 或 POST 的方法。当我测试 Web 的 URL 根目录时,我总是收到状态代码 200。我想拒绝任何非 GET 或 POST 方法的连接,状态代码为 405。 我尝试更改 API 项目的每个 lambda 的中间件以拒绝这些连接。它部分有效,但不会影响 Web 的根 URL。 我已经在 AWS 中配置了 API 网关,只允许通过 GET 和 P...

Admin

使用 S3 代替 MinIO 进行视频管理
amazon-api-gateway

使用 S3 代替 MinIO 进行视频管理

我对 AWS 还比较陌生,所以我想联系社区里的专家来获得一些关于架构的建议,我想分享我的想法。 我正在为随身摄像机系统的视频管理软件构建云基础设施。我们正在讨论将大量视频片段上传到云端。 所以我的初步想法是: EC2 8 vCPU、32 GB RAM、512 GB 存储、Debian(分配弹性 IP) RDS for PostgreSQL S3 用于存储 现在将 EC2 连接到 S3 似乎是通过 IAM 角色完成的,因此我已完成此操作并创建了一个名为“full_s3_access_from_ec2”的 IAM 角色,现在 S3 可通过 AWS CLI 供...

Admin

在 us-east-1 配置的 AWS ApiGateway 自定义域在加利福尼亚州不起作用
amazon-api-gateway

在 us-east-1 配置的 AWS ApiGateway 自定义域在加利福尼亚州不起作用

我有一个在该区域配置的区域 AWS ApiGateway 实例,us-east-1并使用自定义域名 ( api.stage.aws.stckdapp.com)。 从加拿大安大略省多伦多访问时运行正常,但由于某种原因,从加利福尼亚州旧金山尝试时 DNS 解析失败。 不确定这是否有帮助,但我还配置了 AWS Route 53 运行状况检查,该检查也经常失败(在世界各地的不同地区),并显示以下消息:Failure: DNS resolution failed: Rcode NXDomain(3) 我有一个 AWS Route 53 托管区域,其中设置了指向 Api...

Admin

AWS SAM-无法使用阶段变量为调用的 lambda 版本创建带有 api 网关的堆栈
amazon-api-gateway

AWS SAM-无法使用阶段变量为调用的 lambda 版本创建带有 api 网关的堆栈

好的,之前关于在不同阶段使用不同 lambda 版本的问题在这里:AWS-lambda 版本到不同的网关阶段? 现在我尝试使用 AWS SAM cli 将所有内容整合在一起但仍然收到错误: 模板.yaml 我的模板的相关部分 Resources: AppApi: Type: AWS::ApiGateway::RestApi Properties: Name: HelloWorldApiGateway HelloWorldResource: Type: AWS::ApiGateway::Resource ...

Admin

我可以阻止某些 API 密钥的 API 网关资源吗?
amazon-api-gateway

我可以阻止某些 API 密钥的 API 网关资源吗?

我有一个 API 网关,其中配置了一个需要 API 密钥的 API。现在我的问题是,在所有 get/post 资源中,我是否可以针对特定 API 密钥设置该密钥无法连接到其中某些资源? 我知道我可以在级别代码中检查它,但我想知道亚马逊是否包含任何选项。 ...

Admin

AWS-lambda 版本到不同的网关阶段?
amazon-api-gateway

AWS-lambda 版本到不同的网关阶段?

来自“经典/标准”开发,我习惯于有不同的部署阶段,例如暂存和生产,每个阶段都有其应用程序版本。 AWS Lambda 函数和 API 网关让我对如何处理版本和发布感到困惑,也许是因为我试图以在 AWS 上不正确的方式执行此操作。 Lambda 函数可以同时具有版本和别名,而网关可以具有阶段,因此我希望能够有一个指向函数生产版本的别名和一个指向暂存版本的别名,并且每个别名都在两个阶段的同一个网关资源上被调用,例如: 但似乎 api 网关阶段不能调用不同的 lambda 函数别名或版本,我可以在阶段资源中覆盖的唯一内容只是 CloudWatch 和节流设置。 ...

Admin

存储我们的 API 的 API 密钥
amazon-api-gateway

存储我们的 API 的 API 密钥

我正在使用 API 网关构建 HTTP API,并希望使用 API 密钥进行身份验证。由于 HTTP API 不支持它们,我计划在 Lambda 函数中手动验证它们。 存储这些密钥的最佳方式是什么?我不想为此启动数据库。我考虑只使用参数存储,因为它们(目前)仅在内部使用,我们只需要存储一些。有没有更好的方法来做到这一点?也许甚至可以自动生成和轮换这些密钥? ...

Admin

Nginx 有什么方法可以解析 CNAME(或在其他地方查找 URL)然后重定向到结果吗?
amazon-api-gateway

Nginx 有什么方法可以解析 CNAME(或在其他地方查找 URL)然后重定向到结果吗?

我有一个 AWS API 网关端点,其 URL 如下: https://xxxxxxxxxx-vpce-09572222209cd2305.execute-api.us-west-1.amazonaws.com 我想为该名称创建一个容易记住的别名,以便在浏览器中使用。我已经有一个 Nginx 网关,它可以重定向到许多其他服务器。所以我只需在该机器的配置中添加几行:这是我现在正在做的事情: location /myapi { return 301 https://xxxxxxxxxx-vpce-09572222209cd2305.execute-ap...

Admin

AWS CloudFront Wordpress 起源问题
amazon-api-gateway

AWS CloudFront Wordpress 起源问题

我面临与 AWS CloudFront 和我的 WordPress 网站相关的问题。 WP 网站位于 AWS CF 后面,它使用第三方服务,我们假设它是一种验证服务。 场景就像 WP 网站收到来自用户的请求,然后内部请求验证服务并向用户提供响应。 WP 网站必须首先在验证服务中注册并列入白名单。 问题是,当 WP 网站使用 CF 时,验证服务会获取 CF 的 IP,由于事先未将其列入白名单,因此会出现授权错误。如果没有 CF,它也能按预期正常运行。 我尝试使用 X-Forwarded_For 请求标头,但无济于事。我确信是我对 AWS 缺乏了解导致了这个问题...

Admin

ECS 任务到 VPC 端点/NAT 网关路由
amazon-api-gateway

ECS 任务到 VPC 端点/NAT 网关路由

我们有一个 ECS 任务,它在私有子网中执行两种类型的 Rest API 调用:/path1 和 /path2。我们通过公共子网中的 NAT 网关将请求路由到 Internet 网关。 流程:ECS 任务 -> NAT 网关 -> Internet 网关。 现在,我们希望将 /path2 请求路由到我们将创建的 VPC 端点。 ECS 任务 -> 路径/1 -> NAT 网关 -> Internet 网关。 ECS 任务 -> 路径/2 -> vpc 端点 -> 我们如何才能实现这个目标? ...

Admin

DDOS AWS API 网关保护
amazon-api-gateway

DDOS AWS API 网关保护

我已公开 API 网关 (HTTP)。要进行身份验证,您必须提供有效的 JWT。 我想使用 Cloudfront + WAF 保护这个 APIGW。阅读后文档我认为 API Gateway 端点仍然暴露在互联网上。唯一可以保护 API Gateway 的是在 WAF 中验证 Header。攻击者仍然可以在互联网中找到 API Gateway,并直接对 API Gateway 端点执行 DDOS 攻击,而无需通过 Cloudfront。 这种方法是否安全?Cloudflare 正在使用隧道确保您的基础设施不会暴露在互联网上。我认为这种方法更安全。AWS 中是否...

Admin

AWS HTTP 网关:没有路径变量的私有集成路由
amazon-api-gateway

AWS HTTP 网关:没有路径变量的私有集成路由

我第一次设置 HTTP 网关时遇到了私有集成问题。我希望所有集成都是私有的,但路由功能不太好用。 我有一个带路由的私有集成$default,它运行良好。现在我想安装另一个私有集成,/microservice/并代理其所有端点。 然而,这似乎是不可能的,因为私有集成要求您提供后端 ARN 而不是 URI,因此无法使用路径变量{proxy+}。这导致只有我的微服务的根目录可以通过网关访问 - 所有其他路径都只转到路由$default。 如何设置这样的私有集成?理想情况下,我希望这样做: - /microservice1/{proxy+} - /microserv...

Admin

在 Aurora Serverless db 上调用 ExecuteStatement 操作时导致 BadRequestException 的原因是什么
amazon-api-gateway

在 Aurora Serverless db 上调用 ExecuteStatement 操作时导致 BadRequestException 的原因是什么

我有一个 lambda 函数,用于从 AWS Aurora Serverless db 检索记录。现在我想添加 api 网关来触发 lambda 函数,但出现此错误将 API 网关触发的 AWS Lambda 函数连接到 Aurora Serverless MySQL 数据库。 [ERROR] BadRequestException: An error occurred (BadRequestException) when calling the ExecuteStatement operation: Access denied for user 'adm...

Admin