nginx 禁止恶意uesr agent访问

禁用一些User Agent可以节省一些流量也可以防止一些恶意的访问,尤其是部份搜索引擎爬虫,例如我们的网站就是一个地方性站点,没有必要被一些国外的搜索引擎爬虫索引,都可以禁掉,具体操作如下:

1、编辑该文件:
# vi /usr/local/nginx/conf/vhosts/yourpool.conf
2、增加以下内容(示例):
#禁止Scrapy等工具的抓取,注意已经取消curl抓取
if ($http_user_agent ~* (Scrapy|Curl|HttpClient)) {
     return 403;
}
#禁止恶意user_agent访问
if ($http_user_agent ~ "FeedDemon|JikeSpider|Indy Library|Alexa Toolbar|AskTbFXTV|AhrefsBot|CrawlDaddy|CoolpadWebkit|Java|Feedly|UniversalFeedParser|ApacheBench|Microsoft URL Control|Swiftbot|ZmEu|oBot|jaunty|Python-urllib|lightDeckReports Bot|YYSpider|DigExt|HttpClient|MJ12bot|heritrix|EasouSpider|Ezooms|^$" ) {
     return 403;             
}
#禁止非GET|HEAD|POST方式的抓取
if ($request_method !~ ^(GET|HEAD|POST)$) {
    return 403;
}
有一些单词中间有空格,所以两边需要使用双引号,禁用了若干个搜索引擎爬虫,还有几个恶意灌水机等,可以分析日志根据情况屏蔽恶意的User Agent。

时间: 2024-08-05 07:08:43

nginx 禁止恶意uesr agent访问的相关文章

nginx 禁止恶意域名解析

server { listen 443 default_server; server_name _; ssl on; ssl_certificate /etc/nginx/cert/aaaa.pem; ssl_certificate_key /etc/nginx/cert/aaaa.key; return 403; } 原文地址:https://www.cnblogs.com/huochaihe/p/9235922.html

Nginx 使用 sever 段规则屏蔽恶意 User Agent

相对于 Apache,Nginx 占用的系统资源更少,更适合 VPS 使用.恶意的 User Agent 无处不在,博客更换到 WordPress 没几天,就被 SPAM(垃圾留言)盯上,又被暴力破解后台用户名密码.以前介绍过 Apache 使用 .htaccess 屏蔽恶意 User Agent,今天来介绍 Nginx 屏蔽恶意 User Agent的方法. 先上规则&注释 #禁用未初始化变量警告 uninitialized_variable_warn off; #匹配各种 bad user

nginx禁止特定UA访问

一.UA是什么? User Agent 简称UA,就是用户代理.通常我们用浏览器访问网站,在网站的日志中,我们的浏览器就是一种UA. 二.禁止特定UA访问 最近有个网站(www.C.com)抄袭公司主站(www.A.com)的内容,除了域名不同,内容.图片等都完全是我们主站的内容. 出现这种情况,有两种可能: 一种是它用爬虫抓取公司主站(www.A.com)的内容并放到自己服务器上显示: 另一种是通过将访问代理至公司主站(www.A.com),而域名(www.C.com)是盗用者的,骗取流量.

Nginx禁止直接通过IP地址访问网站

介绍下在nginx服务器禁止直接通过IP地址访问网站的方法,以避免别人恶意指向自己的IP,有需要的朋友参考下. 有时会遇到很多的恶意IP攻击,在Nginx下可以禁止IP访问. Nginx的默认虚拟主机在用户通过IP访问,或通过未设置的域名访问,在server的设置里面添加这一行: 复制代码代码示例: listen 80 default; 后面的default参数表示这个是默认虚拟主机. Nginx 禁止IP访问这个设置非常有用. 比如别人通过ip或者未知域名访问你的网站时,希望禁止显示任何有效内

Nginx 禁止IP访问

我们在使用的时候会遇到很多的恶意IP攻击,这个时候就要用到Nginx 禁止IP访问了.下面我们就先看看Nginx的默认虚拟主机在用户通过IP访问,或者通过未设置的域名访问(比如有人把他自己的域名指向了你的ip)的时 候生效最关键的一点是,在server的设置里面添加这一行: listen 80 default; 后面的default参数表示这个是默认虚拟主机. Nginx 禁止IP访问这个设置非常有用. 比如别人通过ip或者未知域名访问你的网站的时候,你希望禁止显示任何有效内容,可以给他返回50

Nginx 禁止IP访问 只允许域名访问

今天要在Nginx上设置禁止通过IP访问服务器,只能通过域名访问,这样做是为了避免别人把未备案的域名解析到自己的服务器IP而导致服务器被断网,从网络上搜到以下解决方案 我们在使用的时候会遇到很多的恶意IP攻击,这个时候就要用到Nginx 禁止IP访问了.下面我们就先看看Nginx的默认虚拟主机在用户通过IP访问,或者通过未设置的域名访问(比如有人把他自己的域名指向了你的ip)的时 候生效最关键的一点是,在server的设置里面添加这一行:listen 80 default; 后面的default

Nginx禁止IP访问,只允许域名访问

Nginx禁止IP访问,只允许域名访问 我们在使用nginx的过程中会遇到很多的恶意IP攻击,这个时候就要用到Nginx 禁止IP访问了. 1.直接返回403错误 server { listen 80 default_server; server_name _; return 403; } 或者返回500错误 server { listen 80 default_server; server_name _; return 500; } 2.通过301跳转到主页 如果直接显示500或者403页面,

Nginx禁止直接通过IP地址访问网站(关闭默认站点或空主机头)

这篇文章主要介绍了Nginx中禁止使用IP访问网站的配置实例,一般在备案时可能需要这种设置,需要的朋友可以参考下 国内因为备案的原因,所有服务器都要禁止使用IP访问网站.否则,如果允许使用IP访问网站,那随便解析一个域名到该IP,访问该域名就可以打开网站了.这是一个极大的风险!Nginx中可以很方便的来解决这个问题,小菜鸟来跟大家一起探讨一下. 如下的配置项,可以设置允许使用IP访问网站. server { listen 80; server_name ""; } 这里相当于是绑定了一

nginx 禁止ip访问只允许域名访问

nginx 禁止ip访问只允许域名访问 在nginx 配置文件中,再添加一个server段 server{listen 80 default;return 500;}