首页 > 代码库 > 企业级Web Nginx 服务优化(5)

企业级Web Nginx 服务优化(5)

企业级Web Nginx 服务优化(5)


资源防盗链的技术:

1.1.1什么是资源盗链?

简单的说啊,就是某些不法的网站,通过在其自身网站程序里未经许可非法调用其他网站的资源,然后在自己的网站上显示这些调用的资源,达到了填充自身网站显示效果,但是浪费了调用资源网站的网络流量,造成了其他网站的带宽及服务压力吃紧,甚至宕机。


1.1.2资源被盗链原理详细示意图

技术分享

解决的办法就是:

1.图片,视频打上水印,品牌。

2.防盗链控制,根据IP控制

3.防盗链(根据referer机制)



1.1.3网站资源被盗链带来的问题:

网站资源盗链带来的问题

当网站图片及相关的资源被盗链后,最直接的影响就是网络带宽占用加大了,带宽费用多了,网站流浪也可能忽高忽低,nagios/zabbix 灯报警服务频繁报警,类似下图所示!

技术分享

最严重的情况就是网站的资源被非法使用了,导致网络带宽成本加大了以及服务器压力加大了。多的导致数万元的损失以及网站的正常用户访问受到了影响。

1.1.4 网站资源被盗链严重问题企业真实案例

可以看博客:

http://oldboy.blog.51cto.com/2561410/909696

第一:对IDC及CDN带宽做监控报警

第二,最为高级运维或者运维经历,每天上班的一个重要的任务就是经常看网站流量图,关注流量变化,关注异常流量。

第三,对方问日志做分析,对于异常流量能迅速的定位,并且和公司市场推广等有比较好的默契沟通交流,以便调度带宽和服务器资源。确保网站正确的访问体验得到保证。

1.2网站被盗链的解决方案


1.2.1常见的防盗链的解决方案的基本原理

在http协议中,有一个表头字段叫做referer,使用URL格式来表示从哪里来的链接到当前网页的资源,通过referer可以检测目标访问的来源网页,如果是自源文件,可以跟踪到显示他的网页地址,一旦检测出来源不是本站进行阻止和返回指定的页面。

Apache,nginx,lighttpd三者都支持根据http referer实现防盗链

2.根据cookie处理


3.通过加密变换访问路径实现防盗链

Lighttpd有类似的Mod_secdownload


Apache服务实现防盗链实战


利用Apache web服务实现防盗链实战调用

1.2.1利用referer和rewrite实现apache防盗链的调用

在主配置文件httpd.conf湖综合在虚拟主机httpd-vhosts.cnf中配置如下:

1.模拟盗链的网站blog.etiatnian.com(不法分子)

技术分享

技术分享

2.这个是为破门维护的网站要防止盗链

技术分享

说明:

1.blog.etiantian.org/bbs.etiantian.org表示网站的信任站点。

2.gif|jpg|swf 标识要保护的防止被盗链的文件的扩展名(以|分开)

3.nolink.jpg为上述扩展名的资源被盗链后的重定向的页面/图片用以输出警示信息,这张图片应该尽可能小

技术分享

技术分享

技术分享

Nginx web 服务实现的防盗链实战:

技术分享

技术分享

技术分享

提示:要根据自己公司实际的业务,是否有外链的合作,进行设置域名允许。

技术分享

技术分享

技术分享

技术分享

1.2.6在产品设计上解决盗链的方案

技术分享

企业级Web Nginx 服务优化(5)