Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/multithreading/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Cdn 转发Akamai';s通过F5 BigIP的真实客户端IP_Cdn_Akamai_F5_Big Ip - Fatal编程技术网

Cdn 转发Akamai';s通过F5 BigIP的真实客户端IP

Cdn 转发Akamai';s通过F5 BigIP的真实客户端IP,cdn,akamai,f5,big-ip,Cdn,Akamai,F5,Big Ip,Akamai在真实客户端IP标头中返回客户端IP。这可以在Akamai设置中禁用,以便Akamai在HTTP-X-Forwarded-For标头中返回客户端IP,但这将包含多个IP地址(客户端IP、代理1、代理2等) 我需要在F5负载平衡器后面的web服务器(IIS 7.5)中检索客户端IP 在F5中我需要做什么 F5是否将真正的客户端IP头直接传递给web服务器 或者,我是否应该更改Akamai设置以在HTTP-X-Forwarded-For报头中返回客户端ip?我将使用X-Forwarded

Akamai在真实客户端IP标头中返回客户端IP。这可以在Akamai设置中禁用,以便Akamai在HTTP-X-Forwarded-For标头中返回客户端IP,但这将包含多个IP地址(客户端IP、代理1、代理2等)

我需要在F5负载平衡器后面的web服务器(IIS 7.5)中检索客户端IP

在F5中我需要做什么

F5是否将真正的客户端IP头直接传递给web服务器


或者,我是否应该更改Akamai设置以在HTTP-X-Forwarded-For报头中返回客户端ip?

我将使用X-Forwarded-For,因为BIG-ip已经有了传递此信息的规定

根据BIG-IP的版本,您可以在iRule或更新版本中实现这一点,X-Forwarded是HTTP配置文件中启用的功能。然后您只需要配置IIS以接受新数据

这应该让你开始。如果您是11.x之前的TMO,请参阅以下讨论:

更新:默认情况下,如果使用SNAT,您将看到SNAT池的IP。X-Forwarded-For是为web应用程序发送客户端数据的标准方法。在11.x BIG-IP中,您可以创建一个HTTP概要文件并检查x-Forwarded-For,这只需将外部数据发送到web服务器。我认为IIS7.5仍然需要设置自定义日志过滤器来捕获它,新的8.X版本可以作为一个选项使用,而不需要做太多的工作

如果你正在使用SNAT(大多数人都这么做),这就是全部。我们这样做是因为大多数人不使用BIG-IP作为出站网关,SNAT纠正了异步路由问题。但是,如果您使用BIG-IP作为IIS服务器的出站网关,则可以绕过SNAT要求;让入站和出站流量都通过大IP。在这些情况下,不需要SNAT,您始终可以从外部获取源IP数据

缺点是大多数时候,BIG-IP不是外围设备,可能还有其他设备混淆了源IP。因为X-Forwarded-For是HTTP有效负载中的一个单独的头,所以它可以绕过不断变化的源IP问题

因此,选择X-for


如果您还有其他问题,请告诉我。

谢谢您提供的帮助链接。所以默认情况下F5不会将http头转发到应用服务器?我这么问是因为我需要其他东西,比如用户代理。很抱歉,如果这是一个noob问题,我对F5相当陌生。我将编辑我的答案以进行跟进。这不是一个新问题,一个非常好的问题,而且在DevCentral上经常被问到。