博客首页 > 外贸与网络技巧

通过web.config给IIS网站添加客户端缓存

2025/12/26 9:16:52

有些网站的图片比较大,为了减少图片下载的流量,和实现本地快速打开的目标,需要给一些css,js,字体和图片进行本地缓存。

需要在web.config中配置下

缓存365天的代码如下

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
  <system.webServer>
    <staticContent>
      <clear />
      <clientCache cacheControlMode="UseMaxAge" cacheControlMaxAge="365.00:00:00" cacheControlCustom="public" />
      <mimeMap fileExtension=".js" mimeType="application/javascript" />
      <mimeMap fileExtension=".css" mimeType="text/css" />
      <mimeMap fileExtension=".less" mimeType="text/css" />
      <mimeMap fileExtension=".scss" mimeType="text/css" />
      <mimeMap fileExtension=".jpg" mimeType="image/jpeg" />
      <mimeMap fileExtension=".jpeg" mimeType="image/jpeg" />
      <mimeMap fileExtension=".png" mimeType="image/png" />
      <mimeMap fileExtension=".gif" mimeType="image/gif" />
      <mimeMap fileExtension=".webp" mimeType="image/webp" />
      <mimeMap fileExtension=".svg" mimeType="image/svg+xml" />
      <mimeMap fileExtension=".tiff" mimeType="image/tiff" />
      <mimeMap fileExtension=".woff" mimeType="font/woff" />
      <mimeMap fileExtension=".woff2" mimeType="font/woff2" />
      <mimeMap fileExtension=".ttf" mimeType="font/ttf" />
      <mimeMap fileExtension=".eot" mimeType="application/vnd.ms-fontobject" />
      <mimeMap fileExtension=".otf" mimeType="font/otf" />
      <mimeMap fileExtension=".mp3" mimeType="audio/mpeg" />
      <mimeMap fileExtension=".mp4" mimeType="video/mp4" />
      <mimeMap fileExtension=".avi" mimeType="video/x-msvideo" />
      <mimeMap fileExtension=".flv" mimeType="video/x-flv" />
      <mimeMap fileExtension=".webm" mimeType="video/webm" />
      <mimeMap fileExtension=".pdf" mimeType="application/pdf" />
      <mimeMap fileExtension=".zip" mimeType="application/zip" />
      <mimeMap fileExtension=".rar" mimeType="application/x-rar-compressed" />
    </staticContent>
  </system.webServer>
</configuration>

这是IIS网站在客户端缓存365天的代码,但如果网站是被反代的,例如从宝塔反代这个网站,那么宝塔自己的缓存会篡改这个被反代网站的缓存

需要把宝塔反代页面的配置文件改成如下(原先的删了)

#PROXY-START/
location ^~ /
{
    proxy_pass http://aaa.sohokey.com;
    proxy_set_header Host aaa.sohokey.com;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header REMOTE-HOST $remote_addr;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection $connection_upgrade;
    proxy_http_version 1.1;
    # proxy_hide_header Upgrade;

    add_header X-Cache $upstream_cache_status;
    # 关键修改:删除强制expires和Cache-Control的代码
    # 新增:强制透传源站的Cache-Control头,禁止Nginx改写
    proxy_pass_header Cache-Control;  # 原样转发源站缓存头
    proxy_ignore_headers Expires;     # 避免Expires干扰max-age
}
#PROXY-END/


这样通过宝塔网站就可用到被反代网站上面的缓存设置了(不用点 缓存 按钮)

2025.12.26 发现了一个缺点,就是会导致后台编辑器某些使用js的按钮失效提示404.3错误,可能是mime类型冲突导致的,说是这里设置的mime优先于IIS服务器的

推荐建站

适合外贸SOHO,中小创业公司的外贸网站建设,包含域名空间模板邮箱维护

网站必备

谷歌强推HTTPS,未安装SSL证书会被标记"不安全",影响搜索排名,降低访客信任度。安装后地址栏显示安全锁,提升企业形象与转化率 [详细介绍]

限制同行

有效防止国内同行查看您的外贸网站,保护产品价格和客户信息,海外客户正常访问,提升竞争优势 [详细介绍]

买2年送2年

专业外贸企业邮箱,海外收发稳定不掉线,到达率高达99%,退信率低,无限容量,支持多终端同步 [详细介绍]

完全免费

横幅制作:快速生成网站横幅广告图;logo制作:在线设计企业标志;图片压缩:减小体积加快加载;ICO图标:生成网站favicon;海关数据:免费查询全球提单记录

稳定提速

解决全球各地打开慢、打不开的问题,采用多节点CDN加速,让海外客户秒开网站,提升用户体验和询盘转化 [效果对比]

找客户神器

一键挖掘海外采购商邮箱、网址、社交媒体账号,精准定位目标客户,大幅提升开发效率,外贸业务员必备神器 [详细介绍]

谷歌SEO

谷歌关键词SEO优化排名,让产品关键词登上谷歌首页,获取精准流量和高质量询盘,提升品牌曝光度