阿里云SLB下使用Nginx巧加web防火墙

导读 服务器大家都不陌生,随着科技的发展企业对于服务器的选择也是多种多样。云服务对我们带来了便利,架构即服务,软件即服务等。但是云服务的背后我们对服务的控制能力有时候缺有了限制。公司用的是阿里云的负载均衡器-SLB,SLB与后端nginx流量为内网,这个时候面对这洪水攻击和爬虫的时候我们单从WEB服务器的iptables层很难做到隔离IP。下面我们巧用nginx来实现IP隔离

场景原理:

场景: 前端SLB—>nginx—->proxy

1.首先需要配置SLB(阿里云负载均衡)让slb记录用户真实IP功能

SLB是阿里云的一款负载均衡服务产品,和LVS一样,我们可以理解为LVS服务,(但是我们没有对lvs服务器的管理权限)

此处勾选即可

2.tomcat开启X-Forwarded-For日志功能

开启tomcat的X-Forwarded-For,在tomcat/conf/server.xml中,修改AccessLogValve日志纪录功能为如下内容:

    <valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"                 prefix="localhost_access_log." suffix=".txt"                 pattern="%{X-Forwarded-For}i %h %l %u %t %r %s %b"></valve>  

提示:修改完重启生效!!

被攻击的日志检查客户真实IP:

3.Nginx配置隔离

在Server标签下添加如下几行

   set $allow true;  if ($http_x_forwarded_for ~ "106.121.*.*|106.121.71.120|106.121.77.28|106.121.74.130|218.109.235.254"){          set $allow false;  }  if ($allow = false){          return 404;      }  #提示:IP添加在上面!  

小结: 因为无法禁止用户进行访问,我们设置404可以让IP无法进行访问数据库。不然数据库会被查询语句进行刷爆。

本文原创地址:https://www.linuxprobe.com/use-nginx-iptables.html编辑:public,审核员:暂无

本站所发布的一切资源仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。如果侵犯你的利益,请发送邮箱到 [email protected],我们会很快的为您处理。
超哥软件库 » 阿里云SLB下使用Nginx巧加web防火墙