4.41-Nginx静态文件过期.md
什么是静态文件的过期时间
让图片之类的静态文件,缓存在客户端的浏览器中,在没有过期之前,浏览器不需要请求该图片。
就是为了让这些图片有一个时效性。
如果服务器上图片已经做了更新,但是客户端访问到的还是旧的。
如何配置:
vi 虚拟主机配置文件,增加或更改
location ~* \.(png|jpeg|gif|js|css|bmp|flv)$
{
expires 1d;
access_log off;
}
补充:
curl -x 用来指定目标服务器的IP和端口,例:curl -x127.0.0.1:80 -I www.aminglinux.cc
bc 是一个linux系统下面的计算器,yum install -y bc
4.42-Nginx防盗链.md
什么叫防盗链?
两个网站 A 和 B, A网站引用了B网站上的图片,这种行为就叫做盗链。 防盗链,就是要防止A引用B的图片。
配置:
location ~ \.(png|gif|jpeg|bmp|mp3|mp4|flv)$
{
valid_referers none blocked server_names *.aming.com; #白名单(none 表示空referes的访问,blocked 表示不以http 开头的链接 也是合法的访问)
if ($invalid_referer) {
return 403;
}
access_log off;
expires 1d;
}
补充:
rz 上传文件,yum install lrzsz
sz filename 这样去把这个文件推送到windows上
测试防盗链: curl -I -e "http://www.aaa.com/1.txt" http://www.aming.com/1.png
curl的-e指定自定义的referer
4.43-47 访问控制.md
限制IP访问:
1)白名单
allow 127.0.0.1; #特点,后面的就不匹配了
deny all; #特点,后面的就不匹配了
2)黑名单
deny 127.0.0.1;
deny 1.1.1.1;
限制某个目录
location /admin/ //在admin目录下操作
{
allow 127.0.0.1;
allow 192.168.112.136;
deny all;
}
限制某个目录下的某类文件
location ~ .*(upload|image)/.*\.php$
{
deny all;
}
限制user-agent
if ($http_user_agent ~ 'Spider/3.0|YoudaoBot|Tomato')
{
return 403;
}
日志里面的 user_agent太短 表示不正常
限制uri
if ($request_uri ~ (abc|123))
{
return 403;
}
if 里面只能 return XXX
不能用 allow 或 deny
成功限制 返回403 ,不成功限制但是文件不存在 返回404
即返回403 表示成功限制
返回404 表示没有限制,但是文件没找到
补充:
curl命令用法:
curl -v -A 'aaaaaspider/3.0' -e "1111" -x127.0.0.1:80 bbs.aminglinux.cc -I
-A 指定user-agent -e 指定referer -x指定访问目标服务器的ip和port -I只显示 header信息,不显示具体的网页内容
-v 显示详细的通信过程