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 |tail122 58.144.7.66337 106.91.201.752270 122.200.77.170  #显然这个ip不正常,而且这不是nginx所知道的真实ip,而是$http_x_forwarded_for变量
  • 屏蔽代理ip,有两种情形会需要屏蔽代理ip:一是代理ip访问,二是负载均衡(real-ip请求负载均衡服务器,再代理给后端server)
vi /etc/nginx/badproxy.rulesmap $http_x_forwarded_for $badproxy {        default 0;        ~*122.200.77.170  1;  #建立映射}vi /etc/nginx/nginx.confhttp {include /etc/nginx/badproxy.rules  #这个要在server配置之前server {    location /somepage/ {        if ( $badproxy ) { return 403; }    }}}

转载于:https://www.cnblogs.com/dhcn/p/9967918.html

nginx 屏蔽恶意请求相关推荐

  1. Linux系统下使用iftop结合iptables服务解决带宽被恶意请求的问题

    Linux系统下使用iftop结合iptables服务解决带宽被恶意请求的问题 ​ 最近博客总时不时的打不开,出现数据库连接错误,或者是打开巨慢.不知道哪个s.b盯着我不放,打开控制面板,发现能登录, ...

  2. nginx过滤html输入,nginx屏蔽指定接口(URL)的操作方式

    一.前言 有时候,web平台上线后,需要屏蔽某个服务接口,但又不想重新上线,可以采用nginx屏蔽指定平台接口的办法. 二.具体操作 在nginx的配置文件nginx.conf文件的server节点中 ...

  3. 2020-11-23 防止恶意请求

    方式一:拦截器 对IP进行请求次数限制,将次数存储在Redis中,如果次数到了则将IP放入黑名单/时间 内不予以访问. 拦截器GIT-demo 学习资料 方式二:Nginx 1.配置黑名单2.配置IP ...

  4. 短信发送接口被恶意访问的网络攻击事件(二)肉搏战-阻止恶意请求

    前言 承接前文<短信发送接口被恶意访问的网络攻击事件(一)紧张的遭遇战险胜>,在解决了短信发送的问题后,长长地舒了口气,也就各忙各的事情去了,本以为应该是个完美的收场,哪知道只是泥泞道路的 ...

  5. 如何在CentOS中屏蔽恶意爆破IP (CentOS8.x)

    1.先检查本系统是否有安装xinetd [root@localhost ~]# systemctl status xinetd (1)如何没有打开则重启下xinetd (2)没有安装则用dnf(yum ...

  6. 「预警」尽快升级FastJson版本,避免恶意请求导致OOM!

    点击蓝色"程序猿DD"关注我 回复"资源"获取独家整理的学习资料! 0x00 漏洞背景 2019年9月5日,360CERT监测到2019年9月3日fastjso ...

  7. nginx学习笔记(7)Nginx如何处理一个请求---转载

    如何防止处理未定义主机名的请求 基于域名和IP混合的虚拟主机 一个简单PHP站点配置 基于名字的虚拟主机 Nginx首先选定由哪一个虚拟主机来处理请求.让我们从一个简单的配置(其中全部3个虚拟主机都在 ...

  8. windows nginx c++读取请求数据_震撼!全网第一张源码分析全景图揭秘Nginx

    不管是C/C++技术栈,还是PHP,Java技术栈,从事后端开发的朋友对nginx一定不会陌生. 想要深入学习nginx,阅读源码一定是非常重要的一环,但nginx源码量毕竟还是不算少,一不小心就容易 ...

  9. nginx配置ajax请求跨域

    首先通过mozilla文档了解跨域原理: web跨域的方式有几种,常见的方案有web服务后端代码层级解决与nginx配置层面解决,这里我以nginx配置层面为例. 一般浏览器跨域请求的时候会先发起op ...

最新文章

  1. Hibernate学习(九)———— 二级缓存和事务级别详讲
  2. 重庆市档案局(馆)数据备份一体机项目
  3. cx oracle6 oracle10,python安装cx_Oracle
  4. 统一沟通-技巧-13-Lync-Polycom RMX 1500-配置
  5. java.lang.IllegalStateException: Not connected to serve
  6. 作者招募 | 听我的,各路炼丹师都来加入我们吧!
  7. 数据结构 - 链表 - 面试中常见的链表算法题
  8. Android USB 开发详解
  9. 关系型数据库的分片原则
  10. 如何解决线程安全问题?有几种方式?synchronized与lock有什么异同?
  11. linux连接数问题
  12. linux程序库设置错误,Linux--C库函数ferror中文翻译
  13. 阻止软件连接网络(Win)
  14. BZOJ5442 [Ceoi2018]Global warming
  15. 如何将图片文字转换成文本?
  16. 主板和机箱螺丝孔对不上?
  17. 卸载事件off()方法
  18. 王子与公主的爱情故事新结局(转)
  19. 推荐系统4--AutoRec与Deep Crossing(改变神经网络的复杂程度)
  20. Automatic Targetless Extrinsic Calibration of Multiple 3D LiDARs and Radars

热门文章

  1. 50年前的登月程序和程序员有多硬核
  2. 顺风车拼车源码java_基于jsp的智能拼车-JavaEE实现智能拼车 - java项目源码
  3. access特快 西瓜卡_【2020】從京成上野站前往成田機場的交通攻略、優惠購票方案 | MATCHA - 日本線上旅遊觀光雜誌...
  4. Android ListView异步加载数据库图片
  5. AutoGPT - 全自动人工智能助手
  6. 1.JESD204B基础知识
  7. 金蝶K3cloud账套管理员密码解锁并重置
  8. Codeforces Round #703 (Div. 2) D. Max Median
  9. 2023新华为OD机试题 - 箱子之形摆放(JavaScript)
  10. php文件保存读取,读取保存在文件中的php数组?