代理从现有的nginx lb传递aws api网关

时间:2017-04-02 05:58:28

标签: nginx lambda aws-api-gateway proxypass

我正在探索使用AWS api网关通过HTTP调用调用lambda函数的选项。我有一个现有的Nginx负载均衡器,提供微服务。当我尝试添加一个位置块,将代理传递添加到aws api网关时,

location /foo {
  proxy_pass <aws api gateway url>;
}

这是将主机名解析为IP,例如:10.20.30.40,但AWS API网关在直接从IP查询时返回400 Bad Request。

有没有办法可以从我现有的nginx服务器使用AWS API网关调用lambda?

1 个答案:

答案 0 :(得分:1)

如您所知,如果您尝试通过IP访问,API网关将返回错误。您必须将代理配置为发送Host标头,就像您直接访问API一样。根据nginx文档,这是通过proxy_pass_header指令实现的。