2017-04-05 42 views
1

我有一个由API网关代理的Lambda函数。但是,API网关仅显示http s而不是http。我到处搜索,但看起来像API网关是不可能接受http。如何使AWS api网关接受http而不是https

所以我的问题是如何将http客户端调用转换为https并发送到api网关?我在问,因为我的客户只能打HTTP呼叫,他们不会改变。

+1

除非您想创建自己的HTTP-> HTTPS或HTTP-> Lambda代理,API网关不是正确的解决方案。 – stdunbar

回答

2

我最近和一位AWS代表进行了4个小时的电话联系,谈论我们在生产阶段遇到的类似问题。我的情况很相似,APIGateway没有任何可以修改的地方(代表尝试了各种技巧,但似乎没有任何工作)。因此,我们的结论是将EC2实例作为APIGateway的代理服务器并转发所有流量。还有一些额外的工作,如转让域名,但总体而言,它工作得很好。就你而言,因为你只需要重定向HTTP流量,所以一个简单的ElasticBeanstalk代理应用可能就足够了(EB默认使用HTTP,并且在Nginx代理服务器后面)。

0

你可以把API网关的前面的Cloudfront分布于以下设置:

  • 产地协议策略:HTTPS只有
  • 浏览器协议政策:HTTP和HTTPS
  • 正向头:无
  • 对象缓存:使用原始缓存头文件
相关问题