AWS API网关代理响应失败/丢弃

2024-01-01

Problem:

使用 Postman 时,AWS API Gateway 代理不会传回我的后端服务的响应,但适用于curl

描述:

我有一个想要通过 AWS API 网关公开的后端服务。在这种情况下,网关的使用纯粹是作为 HTTP 代理。所以,

  1. 创建了一个新的 API
  2. 使用 ANY 将资源设置为“代理”
  3. 给了我的后端服务地址
  4. 已部署(无需身份验证,但需要 API 密钥)
  5. 可以从部署阶段 url 成功调用我的后端服务
  6. 使用 CA 证书创建自定义域
  7. 在我的 DNS 提供商上创建了别名
  8. 1 小时后,域启动并指向云端

Issue

我调用了自定义域,

  1. API网关收到
  2. 呼叫记录在 cloudwatch 日志中,并且
  3. 它正在攻击我的后端。
  4. 后端回复API网关。

但是,在我的邮递员身上,我看到“无法得到任何回应”

但是,如果我尝试通过curl,我收到了后端发送的预期响应。所以,不清楚的部分是 -

  1. Postman 调用或基于普通浏览器 URL 栏的 GET 到我的端点有什么问题?

  2. 为什么curl能成功?

  3. 并且,对于我的 API 网关端点,我已将 API 密钥设置为强制。我已经创建了一个 API 密钥并将其分配给 API。有趣的是,即使我不传递 API 密钥,curl 调用仍然成功。为什么API网关可以允许这样的调用?

  4. 对我来说另一个令人困惑的问题是,我必须在Accept, and Content-Type我用于 API 版本控制。

Ex: Accept: application/json-v1失败了但是Accept: application/xml-v1工作中。

我认为这与价值有关,因为 API Gateway 不喜欢它。

我已经彻底阅读了文档,但仍然找不到所有这些问题的合理解释。我错过了什么导致了这些奇怪的问题?到目前为止,我的谷歌也不足以解决这个问题。

请帮助或同样向我指出 AWS gateway 中的特定文档,这些文档可以帮助解决此问题或我可能错过的有关这些主题的任何讨论线程。

至少得到其中一个的答案将使我对我的方法有一个清晰的认识。

谢谢人们!


快速回答:添加标题Accept-Encoding:identity

我在使用 AWS api-gateway 时遇到了完全相同的问题。就我而言,解决方案是添加标题Accept-Encoding:identity从邮递员或配置 AWS API 以默认将其发送到我的后端。

当我直接从邮递员调用后端时,我可以将标题设置为gzip邮递员将正确显示响应,但是当我通过 AWS 执行此操作时,这似乎是一个我无法解决的问题。将提到的标头设置为Identity将指示后端不要修改响应(或应用身份函数)。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

AWS API网关代理响应失败/丢弃 的相关文章

随机推荐

  • React 代码锁定在无限循环中 - 不涉及 while 循环

    我对 React 有点陌生 在下面写了这段代码 下面的组件用于渲染故事的时间和日期选择器 时间和日期选择器仅针对计划出现该故事的社交媒体进行渲染 class TaleScheduler extends Component construct
  • JavaScript 中“define”的用途是什么(除了显而易见的)?

    我到处搜索这方面的文档 但我在任何地方都找不到任何东西 我正在使用 Aloha 并希望使用他们的侧边栏原型来创建我自己的新侧边栏 附加到其他插件功能 他们的 sidebar js 就是从这个开始的 但我一生都找不到任何文档来解释它的含义 d
  • 使用 javaConfig 找不到类[重复]

    这个问题在这里已经有答案了 我使用注释动态创建 Bean 出现以下错误 package demoproject import org springframework context annotation Bean import org sp
  • 将我的程序添加到右键菜单

    右键菜单 我的意思是 我真的不知道它叫什么 但我希望它是右键菜单 当我用谷歌搜索这个问题的标题之类的查询时 我什么也没得到 一些教程展示了如何将 exe 添加到该列表等 但我正在寻找一些教程来教我如何处理该数据 右键单击菜单将返回什么 等等
  • Room 持久库将版本重置为 1

    有什么方法可以将房间库版本重置为1 我尝试卸载手机上的应用程序 它不起作用 仅当您完全删除该应用程序时 使用 Room 降级版本才有效 您可以通过 adb adb uninstall your app package 执行此操作 这也会删除
  • 将 Unicode 从 R 写入 SQL Server

    我正在尝试将 Unicode 字符串从 R 写入 SQL 然后使用该 SQL 表来支持 Power BI 仪表板 不幸的是 Unicode 字符似乎仅在我将表加载回 R 时才起作用 而当我在 SSMS 或 Power BI 中查看表时则不起
  • 查找并删除目录及其子目录中的空文件而无需查找

    我正在尝试制作一个 bash 脚本 在不使用 find 命令的情况下查找并删除目录 包括子目录 中的空文件 这是使用 find 命令的脚本的一部分 但我不确定如何在不使用 find 的情况下转换此行 find type f empty de
  • 如何在 SQL 查询中 JOIN 父级的类别表?

    我有一个帖子表 id category id 然后JOIN其类别表为 category id category name parent ONcategory id Parent是另一个类别的category id 例如 category i
  • 如何获取 rq 队列中的作业数量?

    我用过rq http python rq org 和 RedisToGo 如何获取队列中的作业数量 我在文档中找不到它 Python 当我尝试时 print Before len q jobs result q enqueue worker
  • 如何备份SVN仓库? [复制]

    这个问题在这里已经有答案了 我经常听说拥有 SVN 存储库并不能消除备份的需要 这样的备份是如何完成的呢 我的意思是存储库会随着时间的推移而膨胀 不是吗 那么我是否每次都将其作为一个整体进行备份 或者我该怎么做 进行此类备份的最简单方法是什
  • 德墨忒尔定律 - 数据对象

    我试图遵循德米特法则 参见http en wikipedia org wiki Law of Demeter http en wikipedia org wiki Law of Demeter http misko hevery com c
  • Google Maps Javascript API 不响应 iOS 10 中的触摸事件

    我运行一个内置了许多自定义 Google 地图的网站 在搜索或生成往返某个位置的路线后在地图上显示各个位置 我为此使用 Google Maps Javascript API 我的用户开始报告说 在 iOS 10 上 这些地图不再响应触摸事件
  • 表字段中未显示验证图标

    当我进入表格的编辑模式时 我希望在用户超出任何验证约束范围时立即显示数据验证感叹号图标 首先 有几点注意事项 我使用的是 Vaadin 7 所以 Bean Validation 插件很遗憾无法工作 数据验证按预期进行 现在 我有一个完美的工
  • 是否可以在node.js的帮助下在Windows中将JSLint作为命令行运行?

    我的意思是像这样运行它 node exe lint js my js file js 然后将输出输出到控制台 我需要下载什么 我只需要保存吗http www jslint com 到磁盘 然后获取一些附加的 js 文件 或者我需要寻找 no
  • 如何将触摸从 UIView 传递到 UIScrollView

    如同这个线程 https stackoverflow com questions 5186479 passing swipe touches from uiview to underlying uiscrollview for proper
  • 构建 GDAL 时链接器错误

    我正在使用 MSVC 2015 64 位命令提示符从源代码构建 GDAL 我使用的是 Windows 8 在构建过程中 我收到以下错误 Creating library gdal i lib and object gdal i exp od
  • 如何让 Swagger UI 与 Swashbuckle 一起使用端口 443?

    在运行 RESTful Web 服务的 QA 和 Prod 环境中 端口 80 未开放 因此 目前当我尝试在 QA 中访问 Swagger UI 时 我收到此消息 但它只是挂起 fetching resource list http qa
  • JSon.NET 反序列化子项

    对于反序列化 我通常使用与 JSon 和中找到的属性名称相同的对象JsonConvert DeserializeObject
  • AngularJS工厂http返回空

    我是第一次尝试 AngularJS 我正在使用工厂从 http get 请求获取 JSON 数据 但在 ajax 请求完成之前 该对象返回为空 Factory myDemo factory photosFactory function ht
  • AWS API网关代理响应失败/丢弃

    Problem 使用 Postman 时 AWS API Gateway 代理不会传回我的后端服务的响应 但适用于curl 描述 我有一个想要通过 AWS API 网关公开的后端服务 在这种情况下 网关的使用纯粹是作为 HTTP 代理 所以