Cloudfront->ELB->Haproxy流程 如何使用X-Forwarded-For Http Header

0

【以下的问题经过翻译处理】 一位客户正在EC2上使用Cloudfront、ELB和HAProxy。他们正在评估使用AWS WAF来保护应用程序流量,但由于应用程序要求,他们可能无法转移到ALB,并且无法在此工作负载中使用WAF。 他们正在考虑在HAProxy层实施访问控制,但表达了对X-Forwarded-For Http Header可靠性的担忧,因为它是实施访问控制的的可靠来源。我想寻求专家的意见,是否有更好的替代方案来帮助他们实现此目标。

profile picture
专家
已提问 5 个月前50 查看次数
1 回答
0

【以下的回答经过翻译处理】 是的,X-Forwarded-For Http Header可以被修改。

因此,您可以使用Lambda@Edge来在原始请求阶段覆盖X-Forwarded-For Http Header或创建其他HTTP Header,如True-Client-IP。

以下是简单示例。

'use strict';

exports.handler = function(event, context, callback) {  
  var request = event.Records[0].cf.request;  
  request.headers["true-client-ip"] = [{"key":"True-Client-IP","value":request.clientIp}]   
  request.headers["x-forwarded-for"] = [{"key":"X-Forwarded-For","value":request.clientIp}]  

  callback(null, request);  
};

请查看以下其他Lambda@Edge示例。

https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/lambda-examples.html

profile picture
专家
已回答 5 个月前

您未登录。 登录 发布回答。

一个好的回答可以清楚地解答问题和提供建设性反馈,并能促进提问者的职业发展。

回答问题的准则