在Nginx服务器中,可以使用valid_referers
指令来限制哪些网站可以访问你的资源,通过配置这个指令,你可以防止图片盗链,以下是一个示例配置:
1、打开你的Nginx配置文件,通常位于/etc/nginx/nginx.conf
或/etc/nginx/sites-available/default
。
2、找到你想要保护的图片目录的配置块,或者添加一个新的配置块,如果你的图片存储在/var/www/images
目录下,你可以这样配置:
server { listen 80; server_name yourdomain.com; location /images/ { root /var/www; valid_referers none blocked yourdomain.com *.yourdomain.com; if ($invalid_referer) { return 403; } } }
在这个配置中:
valid_referers none blocked yourdomain.com *.yourdomain.com;
指定了允许访问图片的合法引用来源。none
表示没有引用来源,blocked
表示被阻止的引用来源,yourdomain.com
和*.yourdomain.com
表示你自己的域名及其子域名。
if ($invalid_referer) { return 403; }
检查引用来源是否有效,如果无效则返回403 Forbidden状态码。
3、保存并关闭配置文件。
4、测试Nginx配置是否正确:
sudo nginx -t
5、如果配置正确,重新加载Nginx服务:
sudo systemctl reload nginx
只有来自你指定的合法引用来源(如你自己的网站)的请求才能访问/images/
目录下的图片,其他来源的请求将被拒绝,从而防止图片被盗链。