在AWS中设置代理,为客户端请求添加简单的HTTP标头

时间:2015-04-27 14:03:08

标签: http amazon-web-services proxy http-headers

我想在Amazon Web Services中设置一个简单的代理,除了充当客户端和服务器之间的代理之外,还会在将每个客户端请求发送到服务器之前为每个客户端请求添加一个简单的(固定的)HTTP头。 / p>

我已经查看了最有希望的http://aws.amazon.com/cloudfront,但是,它似乎不允许添加标题。另一个相当不方便的选择是设置新的EC2(或BeansTalk)服务来执行代理工作,但这对于这样一个简单的任务来说感觉有些过分,另外还需要ELB / AutoScaling设置来确保可用性。

是否有任何简单的高级方法可以在不回退到设置自定义服务器或服务的情况下完成此操作?

1 个答案:

答案 0 :(得分:0)

您可以部署自己的nginx实例,并可以使用此选项为每个请求添加自定义标头:

http://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_set_header

不幸的是,Cloudfront不支持添加标题。

无论如何我会部署cloudfront。您可以将原始服务器设置为ec2实例上的nginx。 cloudfront和ec2之间的数据传输是免费的:

  

借助Amazon CloudFront,您可以使用AWS源(例如,Amazon S3,   Amazon EC2,Elastic Load Balancing等)或您自己的原始服务器   存储文件的原始最终版本。如果你是   使用AWS来源,自2014年12月1日起生效,从中转移数据   原点到边缘位置(Amazon CloudFront“origin fetches”)将是   免费。这适用于从所有AWS区域到的数据传输   所有全球CloudFront边缘位置。数据传输离开亚马逊   CloudFront到您的原始服务器将在“区域数据”中收费   转出原产地“上面列出的费率。所有AWS的定价   这里有服务。