AWS私有API网关采用VPC Link+NLB指向VPCE IP目标时HTTP_PROXY集成出现网络错误的排查求助
AWS私有API网关采用VPC Link+NLB指向VPCE IP目标时HTTP_PROXY集成出现网络错误的排查求助
各位好,我最近在搭建一套私有API网关架构:用VPC Link对接网络负载均衡器(NLB),NLB的目标设置为VPCE的IP地址。
但遇到了一个奇怪的问题:当我使用API网关的HTTP_PROXY集成时,请求总是失败,返回错误:
Execution failed due to a network error communicating with endpoint: Connection is closed
我做了几次测试排查,发现只要移除请求中的x-amzn-vpce-config这个请求头,就能让请求正常通行。于是我改成了HTTP集成,通过请求模板主动去掉这个头之后,API立刻就能正常响应了。这说明网络连通性、安全组配置、路由这些基础环节都是没问题的,问题应该出在AWS内部自动插入的这个x-amzn-vpce-config请求头上——它好像阻碍了HTTP_PROXY模式下的请求转发。
我已经用一个完整的CDK栈复现了这个问题,部署后在EC2上测试的结果如下:
[ec2-user@ip-10-0-17-56 ~]$ [ec2-user@ip-10-0-17-56 ~]$ curl -X GET https://privateapigwsample.adambezecny.com/http-integration/test Hello from Lambda! [ec2-user@ip-10-0-17-56 ~]$ curl -X GET https://privateapigwsample.adambezecny.com/http-proxy-integration/test {"message": "Network error communicating with endpoint"} [ec2-user@ip-10-0-17-56 ~]$
想请教一下各位大佬:有没有遇到过类似的情况?为什么这个AWS自动插入的请求头会导致HTTP_PROXY集成失败?有没有办法在HTTP_PROXY集成中移除这个头,而不用切换到HTTP集成呢?
内容来源于stack exchange
相关产品推荐
相关产品推荐

