学习的一些简单操作进行记录
学习的网址:https://www.majiaxueyuan.com/uc/play/40
nginx 下载地址:http://nginx.org/en/download.html
目录
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
所以才能显示图片
以上