Nginx静态文件过期
什么是静态文件的过期时间?
让图片之类的静态文件,缓存在客户端的浏览器中,在没有过期之前,浏览器不需要请求该图片。
就是为了让这些图片有一个时效性。
如果服务器上图片已经做了更新,但是客户端访问到的还是旧的。
如何配置?
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
ctrl+F5 强制刷新
Nginx防盗链
什么叫防盗链?
两个网站 A 和 B, A网站引用了B网站上的图片,这种行为就叫做盗链。 防盗链,就是要防止A引用B的图片。
配置:
location ~ \.(png|gif|jpeg|bmp|mp3|mp4|flv)$
{
valid_referers none blocked server_names *.aming.com;
if ($invalid_referer) {
return 403;
}
}
测试防盗链
补充:
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
访问控制
限制IP访问
白名单
allow 127.0.0.1;
deny all;
黑名单
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;
}