服务器 
首页 > 服务器 > 浏览文章

自设代理服务器缓存图片节省上网流量

(编辑:jimmy 日期: 2024/11/9 浏览:3 次 )
其实可以在电脑上安装一个 Apache HTTP server, 配制成 forward proxy, 然后使用其中的缓存功能来节省流量。

怎么样配置 forward proxy 这里不多说,网上一抓一大把。这里讲的是,有很多网站并没有明确指明图片、.js/.css 在用户的浏览器里面缓存一端时间,在这些网站的多个页面中切换,就会产生很多的重复流量。

我们可以合理地假定,网站的图片、.js/.css 文件,在一段时间内是不会变的。因此我们可以配置 Apache 修改这些网站的 图片、.js/.css 文件缓存时间,避免重复传输同样的文件。

配置方法很简单,在 httpd.conf 中,打开 mod_headers, mod_mem_cache, mod_cache, mod_file_cache, 加上以下配置:
复制代码 代码如下:
#local forward proxy server
Listen 5081

Include conf/extra/httpd-vhosts-5081.conf



新建一个文本文件, httpd-vhosts-5081.conf, 放在conf/extra/ 目录中(windows版本 apache)。在此文件中,加上这样的配置(图片文件缓存 365 天,js/css 缓存 1 小时):


复制代码 代码如下:
#local forward proxy server
NameVirtualHost *:5081

#local forward proxy server
<VirtualHost *:5081>
ProxyRequests On
ProxyVia On
<LocationMatch "\.(js|css)$">
Header unset P3P
Header unset Cache-Control
Header unset Expires
Header unset Pragma
Header unset ETag
FileETag None

#cache 1 hour
Header set Cache-Control "max-age=3600, public"
</LocationMatch>

<LocationMatch "\.(gif|jpe?g|png)$">
Header unset P3P
Header unset Cache-Control
Header unset Expires
Header unset Pragma
Header unset ETag
FileETag None

#cache 365 days
Header set Cache-Control "max-age=31536000, public"
</LocationMatch>

</VirtualHost>


当然了,也可以调整这里的时间参数,单位为秒。可以用 Excel/计算器事先计算好需要的秒数。
上一篇:LoadUserProfile 调用因下列错误而宣告失败: 拒绝访问的常见解决方法
下一篇:配置Linux服务器SSH 安全访问的四个小技巧
一句话新闻
微软与英特尔等合作伙伴联合定义“AI PC”:键盘需配有Copilot物理按键
几个月来,英特尔、微软、AMD和其它厂商都在共同推动“AI PC”的想法,朝着更多的AI功能迈进。在近日,英特尔在台北举行的开发者活动中,也宣布了关于AI PC加速计划、新的PC开发者计划和独立硬件供应商计划。
在此次发布会上,英特尔还发布了全新的全新的酷睿Ultra Meteor Lake NUC开发套件,以及联合微软等合作伙伴联合定义“AI PC”的定义标准。