Skip to content


避免nginx在cdn下被缓存防盗链图

如果你CDN会缓存http 302状态的话,那么CDN就有可能会缓存防盗图,正常用户访问时会返回CDN中的”提示图”,而非正常图. 这里里解决方法是让rewrite后的302改成403状态.

nginx原配置

location ~* ^.+\.(jpg|jpeg|gif|png|swf|rar|zip|css|js)$ { valid_referers none blocked *.c1gstudio.com localhost cache.baiducontent.com c.360webcache.com www.sogou.com cc.bingj.com; if ($invalid_referer) { rewrite ^/ http://leech.c1gstudio.com/leech.gif; return 412; break; } access_log off; root /opt/lampp/htdocs/c1gstudio; expires 3d; break; }

新的nginx配置 做一个代理到虚似主机

upstream leech_server { server 192.168.0.75:80; } location @leech { proxy_set_header Host leech.c1gstudio.com; proxy_pass http://leech_server; } location ~* ^.+\.(jpg|jpeg|gif|png|swf|rar|zip|css|js)$ { valid_referers none blocked *.c1gstudio.com localhost cache.baiducontent.com c.360webcache.com www.sogou.com cc.bingj.com; if ($invalid_referer) { #rewrite ^/ http://leech.c1gstudio.com/leech.gif; error_page 412 = @leech; return 412; break; } access_log off; root /opt/lampp/htdocs/c1gstudio; expires 3d; break; } server { listen 80; server_name leech.c1gstudio.com; index index.html index.htm index.php; root /opt/lampp/htdocs/transfer_url; error_page 404 =403 /leech.gif; access_log off; location ~* ^.+\.(jpg|jpeg|gif|png)$ { access_log off; root /opt/lampp/htdocs/transfer_url; add_header Cache-Control no-cache; add_header Pragma no-cache; add_header Expires 0; break; } location ~/\.ht { deny all; } }

Posted in Nginx.

Tagged with , .


No Responses (yet)

Stay in touch with the conversation, subscribe to the RSS feed for comments on this post.



Some HTML is OK

or, reply to this post via trackback.