0

我使用API​​网关将Elastic BeansTalk中的Tomcat后端解耦,但我无法从API获取响应。AWS API网关 - 用于Elastic Beans Talk的HTTP代理不通过响应

当我尝试使用API​​网关控制台进行测试时,集成请求正常工作。它在后端也工作正常。我使用API​​端点发出请求并检查服务器日志,并提供预期的200响应。

但是,当API网关提供代理的响应时,它不能在任何客户端进行分析。我尝试使用网络浏览器,API测试工具和移动客户端(iOS)。在每种情况下,代理都会告诉他“无法解码原始数据”!我使用curl检查了端点,它工作正常。比较来自API Gateway和Elastic BeansTalk端点的响应,唯一的区别是在API网关响应中,所通知的内容大小比一个字节长。

做了一些研究,网上的一些人发现了同样的问题,不同的后端服务和不同的代理。例如,here有人讲述了Safari尝试访问Flickr时发生的相同问题。在这个问题的回应中,有人告诉问题与服务器插入的HTTP Via头相关。

我检查了API网关的响应标头,确实它有一个Via Header通知响应由Cloudfront提供。我查找了选项来禁用此选项以测试这是否是问题。但没找到!

所以..我的问题是:

  1. 有人正在或有同样的问题?
  2. 有人可以告诉我,如果问题与Via Http Header有关?
  3. 我可以在API网关中禁用此标头吗?如果是的话,怎么样?
+0

您是否使用API​​ Gateway生成的SDK? –

+0

不!我正在使用来自基础包的http会话对象。我确实遇到了iOS sdk的巨大问题,只是放弃了......主要与Cognito有关...... –

回答

0

我可以在API网关中禁用此标头吗?如果是的话,怎么样?

不幸的是,你不能禁用标题。如果您使用端点类型REGIONAL(而不是EDGE),则Via头将不会被添加,但是您也将失去EDGE端点的优点。

相关问题