1.软文推荐

2.软文推荐

3.软文推荐

目录: 1、nginx 防盗链简单配置 2、网站nginx配置限制单个IP访问频率,预防DDOS恶意攻击 3、Nginx如何配置可以限制ddos攻击 4、Nginx安全防护 nginx 防盗链简单配置

通常我们不希望自己网站的图片、文件等被一些未经允许的网站应用,那么我们可以在nginx里做一些配置来阻止这些网站的访问。

我们将使用nginx的valid_referers 指令来做防盗链,下面来简单介绍下valid_referers指令。

语法:

valid_referers [none|blocked|server_names] ...

默认值:none

使用环境:server,location

该指令会根据Referer Header头的内容分配一个值为0或1给变量 $invalid_referer 。如果Referer Header头不符合valid_referers指令设置的有效Referer,变量$invalid_referer将被设置为1.

该指令的参数可以为下面的内容:

none:表示无Referer值的情况。

blocked:表示Referer值被防火墙进行伪装。

server_names:表示一个或多个主机名称。从Nginx 0.5.33版本开始,server_names中可以使用通配符"*"号。

简单介绍完后小伙伴们可能会想为啥要用这个参数做防盗链呢?

我们知道HTTP Referer是Header的一部分,当浏览器向Web服务器发送请求的时候,一般会带上Referer,告诉服务器我是从哪个页面链接过来的,服务器借此可以获得一些信息用于处理。下面我们在浏览器里面打开几个页面来体验下这个参数

下面我们准备一张图片test.jpg,和两台服务器,注意笔者的nginx版本是1.17的,不同的版本可能配置稍微有点不同。

服务器A:47.93.121.3

服务器B:175.24.110.203

笔者将图片test.php 放到服务器A上,并能够正常访问

接着我们在服务器B上写一个test.htm来引用这张图片:

访问看下:

能够正常访问。

但是我们希望服务器B在没有经过允许的情况下不能访问这张图片,那我们就需要配置下服务器A的nginx

那我们再在服务器B上看还能不能访问到这张图片:

发现已经不能访问这张图片,那我们再看看服务器A能不能访问:网站nginx配置限制单个IP访问频率,预防DDOS恶意攻击

对于网站来说,尤其是流量较大出名的网站,经常遇到攻击,如DDOS攻击等,虽然有些第三方,如Cloudflare可以挡,但对于动态网站PHP来说,只能挡一部分。这时候需要对于单个IP恶意攻击做出限流。nginx的两个模块可以限流。

nginx两个限流模块:

连接频率限制,ngx_http_limit_conn_module:官方文档:

请求频率限制,ngx_http_limit_req_module:官方文档:

网上理论很多,根据名字可知:

当然还是看不懂的话,通俗点讲(相对于时间比较):

比如秒杀,抢购,连接频率限制和请求频率限制应该配合使用 , 使用连接频率限制同一IP同时只能有3个连接, 再使用请求频率限制对于同一ip的请求,限制平均速率为5个请求/秒 , 这样比单独只使用一种限制要好很多。

比如只使用请求频率限制 , 可以精确地限制同一ip1秒只能发起5次的http请求 , 假如同一ip1秒内发起了100000次请求 , 虽然限制了只有5次成功响应 , 但是其他的99995次的请求TCP握手建立http连接是不是会消耗服务器资源? 所以还需要配合使用。

1、limit_req_zone,示例:

2、limit_conn_zone,示例:

3、搭配一起使用

1、ab命令

ab是apache自带的压力测试工具。一般不用额外安装,ab非常实用,它不仅可以对apache服务器进行网站访问压力测试,也可以对或其它类型的服务器进行压力测试。比如nginx、tomcat、IIS等。

测试命令

2、wrk命令

需自己安装,地址:

安装

测试命令:

还有其他压测工具,自行研究

Nginx如何配置可以限制ddos攻击

你好,参考以下

1、在nginx.conf里的http{}里加上如下代码:

#ip limit

limit_conn_zone $binary_remote_addr zone=perip:10m;

2.在需要限制并发数和下载带宽的网站配置server{}里加上如下代码:

limit_conn perip 2;

limit_rate 100k;

补充说明下参数:

$binary_remote_addr是限制同一客户端ip地址;

limit_conn为限制并发连接数;

limit_rate为限制下载速度

Nginx安全防护

隐藏Nginx后端服务X-Powered-By头

Nginx SSL协议的加密策略进行加固

1.执行系统命令passwd -S nginx来查看锁定状态

出现Password locked证明锁定成功

如:nginx LK ..... (Password locked.)或nginx L ....

2.默认符合,修改后才有(默认已符合)

3.执行系统命令passwd -l nginx进行锁定

Nginx进程启动账号状态,降低被攻击概率

Nginx后端服务指定的Header隐藏状态

Nginx服务的Banner隐藏状态

把控配置文件权限以抵御外来攻击

相关文章 8

1

哪个云主机便宜(云主机多少钱) 44秒前

目录:1、那个云服务器便宜好用2、云服务器 谁家的便宜3、哪个云服务器便宜4、云服务器哪家好用便宜5、云主机哪个便宜那个云服务器便...

2

挂淘宝服务器(淘宝主账号挂服务器) 2分钟前

目录:1、淘宝店铺挂主账号需要什么样的服务器2、服务器挂淘宝店铺方法3、淘宝店为什么要挂云服务器4、淘宝主账号挂服务器可以上货吗...

4

混合服务器(混战服务器) 4分钟前

目录:1、什么叫混服,什么叫独服2、大掌门2混服什么意思3、混合服务器专用服务器性能什么叫混服,什么叫独服 混服是几家公司开一组服...

5

yum软件包(yum软件包管理器使用什么命令显示已安装软件包) 4分钟前

目录:1、yum软件仓库详细解读2、使用yum命令进行软件包安装时需要手动处理软件包的依赖关系吗3、yum命令使用下列哪个参数重新安装软件...

6

阿里云上公司注册(阿里云公司注册不接电话) 5分钟前

目录:1、阿里云服务上注册的公司怎么办税务和银行开户?2、阿里云如何注册企业邮箱3、如何才能成为阿里云企业新用户?企业新用户有...

8

茂名云服务器(茂名dns的服务器地址是多少) 6分钟前

目录:1、云服务器怎么用2、游戏服务器租用哪里好?3、如何申请云平台服务器4、云计算服务器,了解一下?5、云计算服务器哪家好云服务...