+86 13541016684Mon. - Fri. 10:00-22:00

配置Amazon ELB访问限制

Amazon ELB访问限制

配置Amazon ELB访问限制

因为ELB在Security Group(安全组)的外面,在EC2的安全组限制HTTP(80端口)访问也是无效的。通过ELB任何客户端都可轻松访问EC2。

但是也无法限制ELB访问EC2,因为ELB会对EC2的进行HealthCheck(健康确认),当ELB无法访问指定页面的时候,就会判断该EC2出现异常。

因此需对经过ELB的访问也进行限制时,必须在Web服务器(Apache或者Nginx)上配置访问限制。

比如,在Apache配置访问限制时,客户端的IP将全部是ELB的IP,无法进行判断。这时,应该使用X-Forwarded-For进行限制。

范例

只允许IP地址为192.168.170.1的客户端,访问该网站。

SetEnvIf X-Forwarded-For "192\.168\.170\.1" allow_ip
Order deny,allow
Deny  from all
Allow from env=allow_ip

拒绝IP地址为192.168.170.1和192.168.170.2的客户端,访问该网站。

SetEnvIf X-Forwarded-For "192\.168\.170\.1" deny_ip01
SetEnvIf X-Forwarded-For "192\.168\.170\.2" deny_ip02
Order allow,deny
Allow from all
Deny  from env=allow_ip01
Deny  from env=allow_ip02

X-Forwarded-For是ELB接受客户端的请求后,分配到EC2时把真正的客户端的IP地址添加到数据包的尾部。

Apache的Web服务器的话,通过安装和配置mod_extract_forwarded,可以把客户端IP改为X-Forwarded-For。 配置方法还没有研究过,有机会用的话,再研究。

# yum install mod_extract_forwarded

简介负载均衡器分配方式

Amazon Web Services的Elastic Load Balancing是一个简单易用的负载均衡器,ELB可以把客户端的访问以Round Robin方式均等的分配到ELB下的EC2。

高性能的负载均衡器,一般有Round Robin,Ratio,Least Connections,Fastest,Observed,Predictive,Dynamic Ratio。 因为ELB只提供Round Robin功能所以说是简单的,但是通过万维网只几步就可以拥有负载均衡器因此说它是易用的。