网站由于恶意访问量很大导致无法正常访问怎么办

2024-02-06 21:40

本文主要是介绍网站由于恶意访问量很大导致无法正常访问怎么办,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

今天,突然发现我N年前的一个网站(企业展示型网站)突然打不开了,加载条一直在转,看这架势像是压力太大,导致响应速度跟不上。

这是一个小站,平时没多少人访问的,感觉肯定是出了什么状况,可能是访问量太大了?先确认一下,打开nginx日志目录(具体目录可在虚拟主机配置文件查看),用tail -f xxx.log就可以实时查看访问记录,如果文件刷新的速度很慢,即说明即时的访问量不大,但如果文件内容刷新的很快,就要注意了,网站当前可能正在受到攻击。

操作步骤:

打开虚拟主机配置文件查看访问日志路径
在这里插入图片描述复制出来,然后用 tail -f [日志路径]来查看,例如 taif -f /data/log/XXX.log,然后会打开一个会实时刷新该网站访问记录的页面,如下图:
在这里插入图片描述
图中有下划线的就是访问来源的IP,红色圈中的就是状态码,如果发现某个IP发了大量的请求而且来源不明,或者明显在用随机的参数或路径试探式的访问接口或页面,很有可能是攻击的来源,把有异常的IP复制到记事本,然后把相应的IP加到黑名单中,这样在web服务器接收到请求的时候就直接返回了403(禁止访问)的状态码,不会给数据库带来什么压力。

那怎么将IP加入到nginx的黑名单呢,可以在/opt/nginx/conf目录下新建一个文件,通常按国际惯例叫ip.black即可,内容是 deny X.X.X.X; 这样的格式,然后在nginx.conf文件中的前面加入一行 include ip.black; 就可以了,内容如下图所示:
在这里插入图片描述
在这里插入图片描述
改完之后记着先用 /opt/nginx/sbin/nginx -t先检查一下配置有没问题,如果一切正常,执行reload 命令就可以了。

正常情况下,再打开日志的时候会发现这个IP所有的请求响应的状态码都由原来的200变成403了,那就是配置起作用了,当这个ip来访问网站,到nginx层就直接把这个请求拒绝了,不会到执行逻辑代码的层面去,这些垃圾请求也就不会再给你的服务器或数据库带来什么压力,正常的网站访问请求马上可以正常响应了。
在这里插入图片描述
效果就是这样的,相应IP的请求直接返回了403状态码,世界都清静了

这篇关于网站由于恶意访问量很大导致无法正常访问怎么办的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/685630

相关文章

如何解决mmcv无法安装或安装之后报错问题

《如何解决mmcv无法安装或安装之后报错问题》:本文主要介绍如何解决mmcv无法安装或安装之后报错问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录mmcv无法安装或安装之后报错问题1.当我们运行YOwww.chinasem.cnLO时遇到2.找到下图所示这里3.

电脑win32spl.dll文件丢失咋办? win32spl.dll丢失无法连接打印机修复技巧

《电脑win32spl.dll文件丢失咋办?win32spl.dll丢失无法连接打印机修复技巧》电脑突然提示win32spl.dll文件丢失,打印机死活连不上,今天就来给大家详细讲解一下这个问题的解... 不知道大家在使用电脑的时候是否遇到过关于win32spl.dll文件丢失的问题,win32spl.dl

pip无法安装osgeo失败的问题解决

《pip无法安装osgeo失败的问题解决》本文主要介绍了pip无法安装osgeo失败的问题解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一... 进入官方提供的扩展包下载网站寻找版本适配的whl文件注意:要选择cp(python版本)和你py

SpringBoot项目启动报错"找不到或无法加载主类"的解决方法

《SpringBoot项目启动报错找不到或无法加载主类的解决方法》在使用IntelliJIDEA开发基于SpringBoot框架的Java程序时,可能会出现找不到或无法加载主类com.example.... 目录一、问题描述二、排查过程三、解决方案一、问题描述在使用 IntelliJ IDEA 开发基于

使用Dify访问mysql数据库详细代码示例

《使用Dify访问mysql数据库详细代码示例》:本文主要介绍使用Dify访问mysql数据库的相关资料,并详细讲解了如何在本地搭建数据库访问服务,使用ngrok暴露到公网,并创建知识库、数据库访... 1、在本地搭建数据库访问的服务,并使用ngrok暴露到公网。#sql_tools.pyfrom

Flask解决指定端口无法生效问题

《Flask解决指定端口无法生效问题》文章讲述了在使用PyCharm开发Flask应用时,启动地址与手动指定的IP端口不一致的问题,通过修改PyCharm的运行配置,将Flask项目的运行模式从Fla... 目录android问题重现解决方案问题重现手动指定的IP端口是app.run(host='0.0.

Android WebView无法加载H5页面的常见问题和解决方法

《AndroidWebView无法加载H5页面的常见问题和解决方法》AndroidWebView是一种视图组件,使得Android应用能够显示网页内容,它基于Chromium,具备现代浏览器的许多功... 目录1. WebView 简介2. 常见问题3. 网络权限设置4. 启用 JavaScript5. D

SpringBoot项目启动错误:找不到或无法加载主类的几种解决方法

《SpringBoot项目启动错误:找不到或无法加载主类的几种解决方法》本文主要介绍了SpringBoot项目启动错误:找不到或无法加载主类的几种解决方法,具有一定的参考价值,感兴趣的可以了解一下... 目录方法1:更改IDE配置方法2:在Eclipse中清理项目方法3:使用Maven命令行在开发Sprin

Javascript访问Promise对象返回值的操作方法

《Javascript访问Promise对象返回值的操作方法》这篇文章介绍了如何在JavaScript中使用Promise对象来处理异步操作,通过使用fetch()方法和Promise对象,我们可以从... 目录在Javascript中,什么是Promise1- then() 链式操作2- 在之后的代码中使

如何使用Docker部署FTP和Nginx并通过HTTP访问FTP里的文件

《如何使用Docker部署FTP和Nginx并通过HTTP访问FTP里的文件》本文介绍了如何使用Docker部署FTP服务器和Nginx,并通过HTTP访问FTP中的文件,通过将FTP数据目录挂载到N... 目录docker部署FTP和Nginx并通过HTTP访问FTP里的文件1. 部署 FTP 服务器 (