/etc/nginx/nginx.conf
或/etc/nginx/sites-available/default
(取决于你的系统和Nginx安装方式)。,,3. **添加防盗链规则**:在location
块内,使用allow
和deny
指令来指定哪些来源被允许或拒绝访问。, ``nginx, location ~* \.(jpg|jpeg|png|gif)$ {, valid_referers none blocked yourdomain.com *.yourdomain.com;, if ($invalid_referer) {, return 403;, }, },
`, 这里,
valid_referers定义了有效的引用来源,
$invalid_referer是一个内置变量,当请求的Referer不在
valid_referers列表中时为真。如果请求来自不允许的来源,则返回403 Forbidden错误。,,4. **重启Nginx服务**:保存更改后,需要重启Nginx服务以应用新配置。在大多数Linux系统中,可以使用以下命令:,
`bash, sudo systemctl restart nginx,
``,,5. **测试设置**:确保从允许的域名访问图片时一切正常,而从其他域名尝试访问时会被阻止。,,上述示例是针对Nginx服务器的设置方法。如果你使用的是Apache或其他Web服务器,配置方法会有所不同。防盗链虽然能提高安全性,但并非万无一失,应结合其他安全措施一起使用。LNMP笔记:设置图片防盗链
1. 什么是图片防盗链?
图片防盗链是一种防止其他网站未经授权使用你的网站上的图片资源的技术,通过设置图片防盗链,可以确保只有特定的域名能够正常访问你的图片资源,从而保护你的服务器带宽和图片版权。
2. 为什么需要设置图片防盗链?
保护服务器带宽:防止其他网站盗用你的图片资源,导致你的服务器带宽被大量占用。
保护图片版权:防止其他网站未经授权使用你的图片资源,侵犯你的版权。
3. 如何设置图片防盗链?
3.1 配置Nginx防盗链
在Nginx配置文件中,可以通过referer
模块来设置图片防盗链,以下是一个示例配置:
location ~ .*\.(gif|jpg|jpeg|png|bmp)$ { valid_referers none blocked yourdomain.com *.yourdomain.com; if ($invalid_referer) { return 403; } }
在这个配置中,我们限制了只有yourdomain.com
和*.yourdomain.com
的域名可以访问图片资源,其他域名的访问将被拒绝。
3.2 配置Apache防盗链
在Apache配置文件中,可以通过mod_rewrite
模块来设置图片防盗链,以下是一个示例配置:
RewriteEngine on RewriteCond %{HTTP_REFERER} !^$ RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?yourdomain.com [NC] RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?subdomain.yourdomain.com [NC] RewriteRule \.(jpg|jpeg|png|gif|bmp)$ [NC,F,L]
在这个配置中,我们限制了只有yourdomain.com
和subdomain.yourdomain.com
的域名可以访问图片资源,其他域名的访问将被拒绝。
4. 常见问题与解答
问题1:设置了图片防盗链后,为什么还是有很多其他网站的域名可以访问我的图片资源?
答:这可能是因为你的防盗链设置不够严格,请检查你的Nginx或Apache配置文件中的防盗链规则,确保只允许特定的域名访问你的图片资源,也可以尝试清除浏览器缓存,以便更准确地测试防盗链效果。
问题2:设置了图片防盗链后,为什么我自己的网站也无法访问图片资源?
答:这可能是因为你的防盗链设置过于严格,导致你自己的网站域名也被误认为是非法访问,请检查你的Nginx或Apache配置文件中的防盗链规则,确保允许你自己的网站域名访问图片资源,也可以尝试清除浏览器缓存,以便更准确地测试防盗链效果。
以上内容就是解答有关“LNMP笔记:设置图片防盗链”的详细内容了,我相信这篇文章可以为您解决一些疑惑,有任何问题欢迎留言反馈,谢谢阅读。