在使用服务器或VPS时,通常都会有一定的流量限制,而网站上的图片往往是流量消耗的主要部分。如果图片资源被其他网站盗链使用,不仅会增加我们的流量负担,还可能导致服务器性能下降。针对LNMP环境下图片盗链的问题,可以采用以下简单的Nginx配置方法进行防护:
```nginx
server {
listen 80;
server_name demo.neoease.com;
index index.html index.htm index.php;
root /var/www/demo_neoease_com;
# 为图片设置一年过期时间,并禁止除本站及指定搜索引擎外的其他网站盗链
location ~ .*\.(ico|jpg|jpeg|png|gif)$ {
expires 1y;
valid_referers none blocked demo.neoease.com *.google.com *.baidu.com;
if ($invalid_referer) {
return 404;
}
}
log_format demo.neoease.com '$remote_addr - $remote_user [$time_local] $request '
'$status $body_bytes_sent $http_referer '
'$http_user_agent $http_x_forwarded_for';
access_log /var/log/demo.neoease.com.log demo.neoease.com;
}
```
这段配置中,通过`valid_referers`指令指定允许访问图片的来源,包括本站以及Google和百度两个搜索引擎域名。任何非指定来源的请求都会被视为无效,服务器将返回404错误,从而有效抑制盗链行为。同时,为图片资源设置较长的缓存时间,减少重复请求,提升访问效率和节省带宽。
通过合理配置Nginx服务器,不仅能够降低由于盗链带来的流量损耗,还能保护网站资源的安全和性能。此方法操作简便,适用于大多数采用LNMP架构的网站。