我正在使用AWS API Gateway及其HTTP代理。
我需要将CloudFront-Viewer-Country
标头传递给我的端点。我尝试按照以下问题中概述的相同设置进行操作
angular-local-storage
我在端点服务器上收到以下标题。
Array
(
[host] => example.com
[Accept] => application/json
[User-Agent] => AmazonAPIGateway_c8752844lh
[x-amzn-apigateway-api-id] => c8752844lh
[X-Amzn-Trace-Id] => Root=1-59bd7a5e-003ef07b3c4c3680299801f1
[X-Forwarded-For] => xx.xxx.xx.xxx
[X-Forwarded-Port] => 443
[X-Forwarded-Proto] => https
[Connection] => keep-alive
)
但是,CloudFront-Viewer-Country
不在其中。如果我使用lambda函数而不是HTTP代理,我可以看到更多标题(包括CloudFront-Viewer-Country
)。
有人可以告诉我如何使用HTTP代理访问我的端点上所需的标头吗?
答案 0 :(得分:4)
对于您想要标题的资源和方法,请转到方法请求→HTTP请求标题→添加标题,并将名称设置为CloudFront-Viewer-Country
。单击带圆圈的复选标记以添加。这会将标头暴露给执行流程的其余部分。
然后,在集成请求→HTTP标题→添加标题。
将名称设置为CloudFront-Viewer-Country
并将{Map}设置为method.request.header.CloudFront-Viewer-Country
,然后点击带圆圈的复选标记进行添加。这会获取公开的标头并将其添加到转发到后端的请求中。
部署API。
答案 1 :(得分:0)
我通过简单地创建一个名为Accept-Encoding
的新集成标头来解决问题,其值等于'identity'
所有丢失的标题出现了!!