nginx图片防盗链,nginx防盗链设置方法与配置文件

发布时间:2020-02-09编辑:脚本学堂
在nginx中防盗链功能的配置方法,用于防止别人的网站盗链资源,nginx图片防盗链技术,并提供了一个生产环境下的对于各个文件类型的缓存设置和防盗链设置文件。
nginx图片防盗链,nginx防盗链设置方法

这种只是在源站配置,一旦采用cdn后还要在cdn供应商那里配置才可以。

 

nginx配置文件,www.jb200.com.conf
 

复制代码 代码示例:

server {
listen80;
server_name  s1.jb200.com;
root /home/webroot/s1.jb200.com;
index index.html index.htm;

location ~ .*.(gif|jpg|jpeg|png|bmp|swf)$
{
expires30d;
valid_referers none blocked *.jb200.com jb200.com www.yuju100.com;
if ($invalid_referer) {
return 404;
}
}
}

说明:
gif|jpg|jpeg|png|bmp|swf这些表示被保护的对象,expires 30d 表示对这些文件启用缓存30天,*.jb200.com jb200.com www.yuju100.com ,这里可以看到有一个通配符,表示我对所有以jb200.com为主域的都允许使用,特例我还额外添加了www.yuju100.com的域名也能使用,其他的域名外链统统404。当然你还可以设置个性页面 只需要将return 404改成 rewrite ^/ http://www.yuju100.com/404.html也可以,具体的内容你可以自己定制。

如果配置文件有多个以“location ~ .*.”开头的,根据至上而下的配置规则你设置的防盗链会失效,解决办法就是合并。
 

在生产环境下的对于各个文件类型的缓存设置和防盗链设置,demo.conf。
 

复制代码 代码示例:

server {
listen80;
server_name www.jb200.com;
root   /home/webroot/www;
index  index.html index.htm index.php;

location ~ .*.(gif|jpg|jpeg|png|bmp|swf|txt)$
{
expires 30d;
valid_referers none blocked *.jb200.com jb200.com;
if ($invalid_referer) {
return 502;
}
}

location ~ .*.(js|css)$
{
expires 7d;
valid_referers none blocked *.jb200.com jb200.com;
if ($invalid_referer) {
return 502;
}
}

access_log  logs/access.demo_www.log;
error_log logs/error.demo_www.log;

location / {

}
}