阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

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

98次阅读
没有评论

共计 933 个字符,预计需要花费 3 分钟才能阅读完成。

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

场景:前端 SLB—>nginx—->proxy
阿里云 SLB 下使用 Nginx 巧加 web 防火墙

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

SLB 是阿里云的一款负载均衡服务产品,和 LVS 一样,我们可以理解为 LVS 服务,(但是我们没有对 lvs 服务器的管理权限)
阿里云 SLB 下使用 Nginx 巧加 web 防火墙
此处勾选即可

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:

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

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 无法进行访问数据库。不然数据库会被查询语句进行刷爆。

阿里云 2 核 2G 服务器 3M 带宽 61 元 1 年,有高配

腾讯云新客低至 82 元 / 年,老客户 99 元 / 年

代金券:在阿里云专用满减优惠券

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2024-07-24发表,共计933字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中