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 / {
}
}