nginx 屏蔽恶意请求
https://www.xlongwei.com/detail/nginx-%E5%B1%8F%E8%94%BD%E6%81%B6%E6%84%8F%E8%AF%B7%E6%B1%82
nginx可以很方便地做访问控制,特别是一些偶发性的大量恶意请求,需要屏蔽处理。
- 屏蔽ip地址
location /someapi/ {
allow ip; #特定接口只开放给某个ip调用
deny all;
}
location /somepage/ {
deny ip; #屏蔽某个ip访问(iptables可以拒绝某个ip连接)
allow all;
}
- 屏蔽user-agent
if ($http_user_agent = Mozilla/5.0 ) { return 403; } #有些请求头很明显不是用户浏览器
分析nginx日志,找出恶意ip或user-agent
cat /var/log/nginx/access.log | awk -F\" '{A[$(NF-1)]++}END{for(k in A)print A[k],k}' | sort -n |tail
122 58.144.7.66
337 106.91.201.75
2270 122.200.77.170 #显然这个ip不正常,而且这不是nginx所知道的真实ip,而是$http_x_forwarded_for变量
- 屏蔽代理ip,有两种情形会需要屏蔽代理ip:一是代理ip访问,二是负载均衡(real-ip请求负载均衡服务器,再代理给后端server)
vi /etc/nginx/badproxy.rules
map $http_x_forwarded_for $badproxy {
default 0;
~*122.200.77.170 1; #建立映射
}
vi /etc/nginx/nginx.conf
http {
include /etc/nginx/badproxy.rules #这个要在server配置之前
server {
location /somepage/ {
if ( $badproxy ) { return 403; }
}
}
}
nginx 屏蔽恶意请求的更多相关文章
- 如何配置nginx屏蔽恶意域名解析指向《包含隐藏nginx版本号》
恶意域名指向: 比如,有一个垃圾域名将解析指向到了你们服务器的IP,一般多一个解析可能不会有什么问题,但是现在全民备案时期,可能你的运营商会联系你,说你们的域名没备案,可能会封你们的80端口,然后会导 ...
- Nginx 使用 sever 段规则屏蔽恶意 User Agent
相对于 Apache,Nginx 占用的系统资源更少,更适合 VPS 使用.恶意的 User Agent 无处不在,博客更换到 WordPress 没几天,就被 SPAM(垃圾留言)盯上,又被暴力破解 ...
- 万字长文!一次性弄懂 Nginx 处理 HTTP 请求的 11 个阶段
Nginx 处理一个 HTTP 请求的全过程 前面给大家讲了 Nginx 是如何处理 HTTP请求头部的,接下来就到了真正处理 HTTP 请求的阶段了.先看下面这张图,这张图是 Nginx 处理 HT ...
- Nginx如何处理一个请求
看了下nginx的官方文档,其中nginx如何处理一个请求讲解的很好,现在贴出来分享下.Nginx首先选定由哪一个虚拟主机来处理请求.让我们从一个简单的配置(其中全部3个虚拟主机都在端口*:80上监听 ...
- Apache与Nginx对客户端请求的处理机制对比
Apache与Nginx对客户端请求的处理机制对比 模块 大致为四个模块,核心模块.HTTP模块.邮件模块,以及第三方模块 核心模块主要包含两类功能的支持,一类是主体功能,包括进程管理,权限管理,错误 ...
- [转载]Nginx如何处理一个请求
http://nginx.org/cn/docs/http/request_processing.html 对我的扫盲文章 基于名字的虚拟主机 Nginx首先选定由哪一个虚拟主机来处理请求.让我们从一 ...
- Nginx配置TCP请求转发
Nginx配置TCP请求转发 1.TCP请求转发基于stream在1.9版本前,需要单独编译安装该组建: # 依赖服务 [root@baolin conf]#yum -y install pcre-d ...
- WordPress如何屏蔽恶意关键词搜索
我们在用WordPress建站比较方便,但如果网站有一定的权重后,一些不怀好意的人就会过来制作恶意内容,比如故意搜索邪恶的关键词.垃圾评论等,那我们如何屏蔽恶意搜索关键词呢?不会很难,会写点代码的朋友 ...
- nginx学习笔记(7)Nginx如何处理一个请求---转载
如何防止处理未定义主机名的请求基于域名和IP混合的虚拟主机一个简单PHP站点配置 基于名字的虚拟主机 Nginx首先选定由哪一个虚拟主机来处理请求.让我们从一个简单的配置(其中全部3个虚拟主机都在端口 ...
随机推荐
- PL/SQL报无效的窗口句柄的解决办法
在远程服务器上使用pl sql developer查询oralce数据库的时候,遇到很长的文本变量想点开小窗口看下具体内容, 但系统弹窗提示“无效的窗口句柄”,听同事介绍原来需要开启一个windows ...
- Deep Introduction to Go Interfaces.
Standard Interface Intro Go’s interfaces are one of it’s best features, but they’re also one of the ...
- java struts2入门学习---拦截器学习
一.拦截器,拦截器栈 1.拦截器的作用 拦截器本质上和servlet的过滤器是一样的.在struts2中,拦截器能够对Action前后进行拦截,拦截器是一个可插拨的,你可以选择使用拦截器,也可以卸载拦 ...
- jenkins 图文教程 下载 --》安装--》更改默认端口号,附自启动脚本
参考文章: 1.http://www.ibm.com/developerworks/cn/java/j-lo-jenkins/ 2.http://blog.csdn.net/zhaolixin007/ ...
- 浅析iOS中的触摸事件
一.什么是响应者对象? 在 iOS中不是任何对象都能处理事件,只有继承了UIResponder的对象才能接收并处理事件.我们称之为“响应者对象”.UIApplication.UIViewControl ...
- Nginx 504 Gateway Time-out问题解决
今天站群VPS上面的所有站出现的 504 网关错误,现在小色还是菜菜的,斗胆解决下.在网上面搜解决方案,尝试设置ngxin的fast-cgi_buffers 和重启ngxin来解决,但是错误依旧.怀疑 ...
- numpy 基于数值范围创建ndarray()
基于数值范围创建函数创建ndarray 1 numpy.arange arange([start=0,] stop[, step=1,][, dtype=None]) >>> np. ...
- 自定义View之圆形水波扩散动效
这个效果做出来以后,真的美极了!放在你的应用中,无疑增添了光彩! 效果图 其实,第一种效果,才是产品的需求要的效果.第三种效果,是不是很熟悉?支付宝的咻一咻!哈哈,无意中,我就写出来了. 实现步 ...
- linux文件系统 - 初始化(三)
执行init程序 一.目的 内核加载完initrd文件后,为挂载磁盘文件系统做好了必要的准备工作,包括挂载了sysfs.proc文件系统,加载了磁盘驱动程序驱动程序等.接下来,内核跳转到用户空间的in ...
- ARGB和PARGB
原文链接: http://blog.csdn.net/lnwaycool/article/details/8610313 ARGB和PARGB是针对32位图像而言的,Windows下图像可以是1位.4 ...