欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 健康 > 美食 > Web缓存代理

Web缓存代理

2025/2/23 7:05:51 来源:https://blog.csdn.net/qq_64335866/article/details/140111397  浏览:    关键词:Web缓存代理

作用:存储一些之前给访问过的,且可能要被再次访问的静态网页资源对象,使客户端可以直接从

缓存代理服务器获取资源,从而减少上游源服务器的负载压力,加快网站的整体访问速度。代理服

务器还可以代替客户端去获取源服务器的资源,从而隐藏客户端的真实地址。

常见的Web缓存代理应用:本地实现 Nginx  Squid  Varnish

                                           云环境远端实现  CDN

数据库缓存代理:Redis  Memcached

Nginx 配置 缓存代理

http {
    ......
    proxy_cache_path  /data/nginx/cache  levels=1:2   keys_zone=my_cache:10m       max_size=10g   inactive=60m   use_temp_path=off;
#                     缓存目录           目录层级     缓存共享内存区的名称和大小   缓存数据上限   缓存失效时间   是否存放临时文件

    upstream XXXX {
         server IP:PORT;     #定义上游源服务器的IP和端口   
         .....
    }

    server {
        listen  IP:PROT;
        server_name 主机名;
        location 匹配路径 {
            proxy_cache  my_cache;                                    #指定缓存共享内存区的名称
            proxy_cache_valid  200  60m;                              #指定有效缓存的状态码  缓存时间;
            proxy_cache_key $request_uri;                             #指定缓存数据的key为请求的URL
            add_header Nginx_Cache_Status $upstream_cache_status      #添加请求头显示缓存状态
            proxy_pass http://XXXX;                                   #设置没有命令缓存时的代理转发
            proxy_no_cache $自定义变量;                               #通过判断自定义变量是否有值来决定是否进行缓存
        }    
    }
}

CDN 内容分发网络

作用:在最接近用户的网络边缘增加一层CDN缓存代理服务器,将源站点服务器的内容发布到

CDN做缓存,可以使用户就近取得所需的内容,从而提高用户访问网站的响应速度。

总结一句话为CDN能够给Web网站内容做缓存,还可降低网络延迟。

工作原理:先将源站点服务器的静态网页资源缓存到CDN节点上,用户请求资源时,通过与DNS

的配合,再根据用户的IP地址和请求的URL,找到最靠近用户的CDN节点,然后CDN节点会将资

源数据快速地分发给用户,使每用户的请求不需要都从源站点服务器获取。从而避免了网络拥塞,

降低了源站点服务器的负载压力,提高用户访问资源的速度和体验。

CDN的内容是如何获取到的?

1)让用户直接访问资源,如果CDN有资源则可以命中缓存并直接响应返回给用户;如果没有命中

到缓存则会将请求发送给上游源站点服务器获取资源,并同步到CDN的缓存中

2)对于热点资源,可以先做缓存预热,再让用户访问资源,即可命中CND中的缓存并直接响应返

回给用户

初始化

安装nginx

准备一个页面

 

新建个目录并授权

添加配置

日志跟踪

项目架构

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词