Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/amazon-web-services/13.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
Amazon web services 如何在AWS ELB后面获得客户端IP?_Amazon Web Services_Iptables_Amazon Elb - Fatal编程技术网

Amazon web services 如何在AWS ELB后面获得客户端IP?

Amazon web services 如何在AWS ELB后面获得客户端IP?,amazon-web-services,iptables,amazon-elb,Amazon Web Services,Iptables,Amazon Elb,使用Web服务器(apache或nginx),我能够找到x-forwarded-for头并找到客户端IP,而不是ELB的IP 我是否可以使用IPTables执行相同的操作,以便能够阻止某些IP地址 我可以在Web服务器级别执行此操作。然而,我认为这有点低效,我希望我可以用IP表或类似的东西来实现这一点?你不能用iptables来实现这一点,因为iptables只能看到弹性负载平衡器的IP地址,因为ELB是建立到你的实例的连接的东西 使用web服务器阻止某些x-forwarded-for值并不是特

使用Web服务器(apache或nginx),我能够找到
x-forwarded-for
头并找到客户端IP,而不是ELB的IP

我是否可以使用
IPTables
执行相同的操作,以便能够阻止某些IP地址


我可以在Web服务器级别执行此操作。然而,我认为这有点低效,我希望我可以用IP表或类似的东西来实现这一点?

你不能用iptables来实现这一点,因为iptables只能看到弹性负载平衡器的IP地址,因为ELB是建立到你的实例的连接的东西

使用web服务器阻止某些x-forwarded-for值并不是特别低效,但是如果您想控制谁可以通过IP地址访问您的ELB,也可以通过连接到ELB的安全组来实现


更新:您的评论部分正确,因为至少到目前为止,EC2“classic”上的ELB不支持入站安全组或网络访问控制列表,但VPC上的ELB支持

问:我可以为弹性负载平衡器的前端配置安全组吗

如果您使用的是Amazon虚拟私有云,则可以为弹性负载平衡器的前端配置安全组-


当您需要允许一组相对较小的特定IP地址范围时,安全组最容易使用。如果您想允许大多数,但阻止少数,那么a是更容易的方法。

自7月30日以来,ELB支持。如本报告末尾所述:

弹性负载平衡(ELB)现在支持代理协议版本1。 此功能允许您识别客户端的连接 使用TCP负载平衡时的信息,提供额外的 深入了解应用程序的访问者。有这个信息 可用于分析流量日志、收集连接 IP地址的统计、故障排除或管理白名单

你必须这么做


有更多关于代理协议的信息。

ELB没有安全组,对吗?至少您不能添加/删除IP。请注意:只有在使用
TCP
侦听器时才需要代理协议。对于
HTTP
侦听器,您仍然可以使用
X-Forwarded-For
头。有关apache httpd的可能解决方案,请参阅。