IT技术博客大学习 共学习 共进步

Nginx 反盗链设置

懒人运维 2010-05-12 13:21:13 浏览 4,484 次

防止盗链不仅能保护版权,又节约了不少流量。最近和bsdmap交流了下,听说他们通过防盗链节约了近1/3的图片流量。nginx的防盗链设置还是比较简单的,可以分为普通防盗链和ip/cookie based防盗链。其中ip based防盗链需要安装nginx的module,所以相对麻烦一些。
nginx最简单的防盗链设置如下

location ~* .(gif|jpg|png|swf|flv)$ {
valid_referers none blocked www.jefflei.com;
if ($invalid_referer) {
return 403;
}
}
通过nginx的重定向方式返回403错误。
NginxHttpAccessKeyModule实现防盗链

需要先安装nginx的NginxHttpAccessKeyModule模块。其运行方式是:如我的nginx目录下有一个 file.gz 的文件。对应的URI 是http://www.jefflei.com/nginx/file.gz
若用ngx_http_accesskey_module 后则根据用户的IP生成一个key值,如下的链接来访问http://www.jefflei.com/download/file.zip?key=23497sdf897. 只有给定的key值正确了,才能够下载nginx目录下的file.gz,这样就可以避免被盗链了。

建议继续学习

  1. 配置Nginx+uwsgi更方便地部署python应用 (阅读 106,824)
  2. 搜狐闪电邮箱的 Nginx/Postfix 使用模式 (阅读 33,762)
  3. 解析nginx负载均衡 (阅读 16,423)
  4. Nginx模块开发入门 (阅读 11,041)
  5. 检查nginx配置,重载配置以及重启的方法 (阅读 10,683)
  6. Cacti 添加 Nginx 监控 (阅读 10,362)
  7. Nginx+FastCgi+Php 的工作机制 (阅读 10,084)
  8. 奇怪的 Nginx 的 upstream timed out 引起响应 502 (阅读 9,823)
  9. nginx的配置文件 (阅读 9,784)
  10. 解决 nginx 反向代理网页首尾出现神秘字符的问题 (阅读 8,962)