1
Showfom 2012-10-23 15:18:19 +08:00
不要过滤空的refer
过滤所有的refer,除了你公司的网址 就ok了 |
2
Showfom 2012-10-23 15:19:34 +08:00
第三方referer请求直接redirect到google.com去。。。
|
4
HowardMei 2012-10-23 17:54:56 +08:00 1
1. 用auth-request不懂怎样实现动态过滤,这么麻烦还不如直接在url后面放个token,让合作方也加token; 不懂Lua,看起来很高级的样子,效果肯定呱呱叫。
2. 不怕误杀,就用fail2ban,filter regex匹配nginx access日志的referrer 结合maxretry和findtime,超过threshold_rate=maxretry/findtime后在bantime内拒绝客户端ip访问80端口,动态过滤效果应该是很好的,就是会误杀一些共用一个ip/proxy的局域网客户(俺就是!) 3. 可以上varnish,有vmod提供可定制的throttle功能,看起来也不错 |
5
reus 2012-10-23 17:58:18 +08:00
把referer是人人和煎蛋的拒绝不就可以了么
|
6
bearice OP |
8
huihen 2012-10-24 22:54:24 +08:00
放到又拍云上可以么?
|
9
HowardMei 2012-10-24 23:40:21 +08:00 2
@huihen 不光是峰值带宽限制吧,这种情况又拍云费用没法控制,cdn也一样,曾经有个老外把几万张照片放S3里,然后用google spreadsheet作图片索引列表,没想到google默认5分钟fetch一次还不缓存,S3也不限制Gbps级传输,结果很快他就收到一个巨额账单(几十TB),还好amazon退钱了,google也很快做了修正,最终损失不大,但流量之贵可见一斑,无效流量对网站运营杀伤力很大。
S3流量费$170/TB,linode $100/TB算便宜的,不知又拍云什么价格。现在网页越来越重,假设都带图,平均体积超1MB是必然的, 每月不到100万次请求就有1TB流量,也就日均3万次,大概每天5000~10000访客的水平,要是网站还没盈利,会有压力的。 |
10
txlty 2012-10-25 04:40:35 +08:00
过滤的请求,别返回空值啊,也别“redirect到google.com去”
而是返回你们的LOGO,或者其他小图片广告。会有额外的收获。 |
11
txlty 2012-10-25 04:49:31 +08:00
[由于第三方客户端的存在,“合法” 的请求可能来自任何地方。]
怎么第三方客户端还带refer的? 除了空refer,和“合法refer”,都进行限制。某个refer,从第一次请求,到1分钟内,都返回正常图片。 1分钟后,返回LOGO,或者广告图片(耗带宽较小的)。 |
12
qiaoy 2012-10-25 13:17:23 +08:00
国内还是有靠谱的免费CDN可用的。
|
13
BOYPT 2012-10-26 13:44:03 +08:00
这个自动化也用不着多复杂吧,写个脚本统计access log的refer的hostname,前多少名的按nginx的格式输出到一个文件,然后nginx的配置里面include这个文件,然后reload信号一次;
|
14
freewizard 2012-10-26 14:25:23 +08:00
@qiaoy 比如?
|