缓存代理服务器

一、代理的工作机制

1、代替客户机向网站请求数据,从而可以隐藏用户的直实IP地址

2、将获得的网页数据(静态 web 元素) 保存到缓存中并发送给客户机,以便下次请求相同的数据时快速响应

二、代理服务器的概念及其作用

代理服务器是一个位于客户端和原始(资源)服务器之间的服务器,为了从原始服务器取得内容,客户端向代理服务器发送一个请求并指定目标原始服务器,然后代理服务器向原始服务器转交请求并将获得的内容返回给客户端。

缓存代理对于web至关重要,尤其对于大型高负载站点。缓存可作为性能优化的一个重要手段,可以极大减轻后端服务器的负载。通常对于静态资源,即较少经常更新的资源,如图片,css或js等进行缓存,从而在每次刷新测览器的时候,不用重新请求,而是从缓存里面读取,这样就可以减轻服务器的压力。

其主要作用有

资源获取:代替客户端实现从原始服务器的资源获取

加速访问:代理服务器可能离原始服务器更近,从而起到一定的加速作用

缓存作用:代理服务器保存从原始服务器所获取的资源,从而实现客户端快速的获取

隐藏真实地址:代理服务器代替客户端去获取原始服务器资源,从而隐藏客户端真实信息

三、常见的Web缓存代理应用

本地实现:Nginx Squid Varnish

云环境远端实现:CDN

数据库缓存代理应用:Redis Memcached

四、Nginx 缓存代理配置

bash 复制代码
http {
    proxy_cache_path /data/nginx/data levels=1:2 keys_zone=my_cache:10m max_size=10g inactive=3m use_temp_path=off;

 upstream cache_server{
        server 192.168.130.50:80;
        server 192.168.130.60:80;
    }

server {
        listen 80;
        server_name localhost;
        location / {
            proxy_cache my_cache;
            proxy_cache_valid 200 3m;
            proxy_cache_key $request_uri;
            add_header Nginx-Cache-Status $upstream_cache_status
            proxy_pass http://cache_server;
         }
    }
}

1、准备原始资源服务器的网页文件

2、编辑Nginx 配置文件

原始资源服务器:

代理服务器:

3、测试

在浏览器中访问缓存代理服务器的IP地址

五、CDN 内容分发网络

在最接近用户的网络"边缘"增加一层CDN缓存代理服务器,将源站点的内容发布CDN节点,可以使用户就近取得所需的内容,提高用户访问网站的响应速度。

1、CDN工作原理

将源站点(Web应用服务器)的静态网页资源缓存到CDN节点上,用户请求资源时,通过与DNS的配合,找到最靠近用户的一台CDN缓存服务器,然后把资源数据快速地分发给用户,而不需要每个用户的请求都从源站点获取,从而避免网络拥塞、缓解源站点的压力,保证用户访问资源的速度和体验。

2、CDN的内容是如何获取的

1)对于热点资源,定时做缓存预热

2)如果CDN节点没有,会从上游服务器或源站点获取资源,并同步到CDN节点的缓存中

相关推荐
Agent手记2 分钟前
生产节拍混乱,在制品积压严重该怎么破解?——2026制造业柔性生产与Agent自动化实战指南
运维·人工智能·ai·自动化
霍格沃兹测试学院-小舟畅学24 分钟前
我用一个自定义Skill,把UI自动化维护时间从4小时压到15分钟
运维·ui·自动化
сокол25 分钟前
【网安-Web渗透测试-内网渗透】内网信息收集(工具)
服务器·windows·网络安全·系统安全
D4c-lovetrain28 分钟前
Linux个人心得28(k8s实战)
linux·运维·kubernetes
Mr.456733 分钟前
CentOS 7 完整部署开源 MQTT 服务器 EMQX 指南(2025实战版)
服务器·开源·centos
淼淼爱喝水34 分钟前
openEuler 环境下 Ansible Playbook 实战:批量创建用户并修改 Shell 属性
linux·运维·服务器·openeuler·playbook
莎士比亚的文学花园38 分钟前
Linux驱动开发(2)——驱动编程
linux·运维·驱动开发
计算机安禾42 分钟前
【Linux从入门到精通】第30篇:综合案例:编写一个Linux系统体检脚本
linux·运维·服务器
草履虫君1 小时前
wsl的装龙虾方式,接入飞书的时候需要在wsl环境装飞书插件,那么node模式接入飞书,需要怎么装飞书插件?
服务器·经验分享·飞书
海的预约1 小时前
Bootloader应用分析
linux·运维·服务器