学习nginx (五 ) 防盗链和限制请求速度

版权声明:转载的话 请标明出处 https://blog.csdn.net/qq_28198181/article/details/87969408

学习的一些简单操作进行记录

学习的网址:https://www.majiaxueyuan.com/uc/play/40

nginx 下载地址:http://nginx.org/en/download.html

目录

1.防止DDOS

2.处理防盗链


1.防止DDOS

限制请求速度

设置Nginx、Nginx Plus的连接请求在一个真实用户请求的合理范围内。比如,如果你觉得一个正常用户每两秒可以请求一次登录页面,你就可以设置Nginx每两秒钟接收一个客户端IP的请求(大约等同于每分钟30个请求)。

在nginx的nginx.conf文件中去修改

说明:区域名称为one(自定义),占用空间大小为10m,平均处理的请求频率不能超过每秒一次。

 limit_req_zone $binary_remote_addr zone=one:10m rate=30r/m;

   server {
                limit_req zone=one;
                listen 80;
                server_name 80ergou.com;
............................

}

我自己修改了下 区域名称为server80 占用空间为 20m 平均处理请求 为一分钟20次

 limit_req_zone $binary_remote_addr zone=server80:20m rate=20r/m;

    server {
        limit_req zone=server80;  #注意不能有空格 否则会有错误提示
        listen       80;
        server_name  localhost;

可以看看效果

正常点击:

如果点击频率过快

会给你报错提示

这样就可以限制请求速度。

2.处理防盗链

对于图片对象防止被其他网站盗用,需要进行一个设置,必须通过某一个网站去跳转才能访问到图片

先将nginx停止了

修改nginx.conf文件,在server里面添加一个路径(格式可以是固定的,关于图片是jpg\jpeg\png...等结尾的图片)必须要通过设置的ip地址去跳转才能显示,否则报错403

location ~ .*\.(jpg|jpeg|JPG|png|gif|icon)$ {
    valid_referers blocked ip;
    if ($invalid_referer) {
         return 403;
    }
}

举个栗子:

我在html文件下是有存放文件路径的,按照原来没有修改的配置文件是可以通过路径去访问的

我修改一下nginx的配置文件如下:

server {
        limit_req zone=server80; #这里是限制访问速度
        listen       80;
        server_name  localhost;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {
            root   html;
            index  index.html index.htm;
        }

        location ~ .*\.(jpg|jpeg|JPG|png|gif|icon)$ {  # 这里是后缀名的图片
        valid_referers blocked 192.168.174.138;        # 这里是只能通过这个ip去跳转
            if ($invalid_referer) {
                 return 403;                           # 否则返回403
             }
        }

........................
}

重启nginx(可以把浏览器的缓存清一下),然后直接连接这个ip地址,也是失败的

需要通过192.168.174.138跳转过去才可以

可以通过F12的NetWork看传递的值里面没有 Referer(可以和下面的对照)

我将80页面的index.html修改了下

添加了一个跳转

然后再刷新一下点击连接

就可以跳转到对应的图片上去了

看F12上的Network关于这个logo.jpg的头信息

这个是通过ip跳转的 符合配置文件中设置的ip

所以才能显示图片

以上

猜你喜欢

转载自blog.csdn.net/qq_28198181/article/details/87969408