我正在主持一个图像分享网站,我似乎遇到了一个不寻常的问题。 我使用Apache模块mod_rewrite来使得每个图像的所有url比其他的图像短得多,但是这似乎阻止了其他模块,比如mod_bw或者mod_bandwidth,因为用户在技术上并没有要求下载文件。
当有人上传一个2MB的GIFanimation时,会出现我的问题。 有时候gif会把所有带宽都偷到服务器上,导致我的网站无用。 我需要一种方法来检测用户何时想查看GIF,然后将其速度限制在更合理的范围内。
我可以考虑的唯一方法是如果有一些Apache模块检测到URL末尾的.gif,然后踢了带宽限制。 这甚至有可能吗? 或者还有什么我可以做的吗?
你正在寻找mod_cband来做你需要的。 例如,您将它的指令封装在.GIF文件的LocationMatch容器中。 如果由于某种原因,你正在运行一个旧的Apache 1.3查找mod_bandwidth或mod_throttle 。
nginx有这个function。 你可以让nginx成为Apache的反向代理。
示例代码:
location /download/ { limit_rate 10k; }