当前位置: 首页 > news >正文

web缓存Squid代理服务

缓存网页对象,减少重复请求

 

squid代理服务器,主要提供缓存加速,应用层过滤控制的功能

代理工作机制

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

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

代理服务器概念作用

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

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

其主要作用有:

资源获取: 代替客户端实现从原始服务器的资源获取:加速访问:代理服务器可能离原始服务器更近,从而起到一定的加速作用;

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

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

主要作用:资源获取:

加速访问

缓存作用:

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

常用缓存代理

cdn:内容分发网络,在边缘网络架设一及多级架网络。

squid:nginx:varnish:

squid代理类型

传统代理:

透明代理:客户机不需要指定代理服务器请求的地址和端口,而是通过默认路由器防火墙策略将访问重定向给代理服务器

反向代理:如果squid反向代理服务器中缓存了该请求的资源,则将该请求的资源返回给客户端,否则反向代理服务器将向后台的web服务武器

squid安装

 

 

usradd -M -s /sbin/nologin squid

chown -R squid:squid squid/

vim /etc/squid.conf

http_access allow all

cache_effective_user squid

cache_effective_group squid

squid -k parse检查语法是否正确

配置服务

vim /etc/init.d/squid

创建脚本

chmod +x /etc/init.d/squid

 #检查配置文件语法是否正确
squid -k parse
 ​
 #启动 Squid,第一次启动 Squid 服务时,会自动初始化缓存目录
squid -z        #-z 选项用来初始化缓存目录
squid           #启动 squid 服务
 ​
netstat -anpt | grep "squid"    #查看是否启动成功

服务用squid脚本

传统代理服务器

vim /etc/squid.conf

http_access allow all
http_access deny all
http_port 3128
cache_effective_user squid
cache_effective_group squid
--63行--插入
cache_mem 64 MB                #指定缓存功能所使用的内存空间大小,便于保持访问较频繁的WEB对象,容量最好为4的倍数,单位为MB,一般设为物理内存的1/3
cache_swap_high 95    

maximum_object_size 512000kb 设置squid磁盘缓存最大文件,以kb为单位,超过的文件不保存到硬盘

,而是直接转发给用户

maximum_object_size_inmemory 512kb

设置squid内存缓存最大文件,超过的文件不保存到内存


service squid restart
systemctl restart squid

windows设置

 windows火狐浏览器设置

 

日志文件

自定义

vim/usr/local/squid/var/logs/access.log

miss没有命中到缓存

tcp_mem_hit表示命中缓存,本地没有缓存

TCP_refresh_unmodified内容刷新没有更改过

火狐浏览器代理配置请求 3128

 

 

构建透明模式代理服务器 

squid服务器做网关服务器时

squid服务器:双网卡,内网ens33:ens33:192.168.232.80.10 外网12.0.0.10

网关ip路由转发功能SNAT地址转换

squid

vim /etc/sysctl.conf

sysctl -p

net.ipv4.ip_forward = 1

清除原有规则

iptables -F && iptables -t nat -F

iptables -nL

添加规则

 监听入站网卡和端口

设置为特殊模式

 acl访问控制

步骤:(1)使用 acl 配置项定义需要控制的条件;

(2)通过 http access 配置项对已定义的列表做"允许"或"拒绝”访问的控制

 

控制类型

src 源地址

dst 目的地址

port 目的端口

dstdomain 目的域名

maxconn 最大连接数

time 时段

url_regex url路径

urlpath_regex url路径正则

列如:acl myhosts src 12.0.0.0/24

http_access denny myhosts

修改配置文件

 

squid反向代理

如果 Squid 反向代理服务器中缓存了该请求的资源,则将该请求的资源直接返回给客户端:否则反向代理服务器将向后台的 meb服务器请求资源,然后将请求的应答返回给客户端,同时也将该应答缓存在本地,供下一个请求者使用。

cache_peer 指向服务器父节点

相关文章:

web缓存Squid代理服务

缓存网页对象,减少重复请求 squid代理服务器,主要提供缓存加速,应用层过滤控制的功能 代理工作机制 1.代替客户机向网站请求数据,从而可以隐藏用户的真实ip地址 2.将获得的网页数据(静态web元素)保存到缓…...

vue实现聊天框自动滚动

需求 1、聊天数据实时更新渲染到页面 2、页面高度随聊天数据增加而增加 3、竖向滚动 4、当用户输入聊天内容或者接口返回聊天内容渲染在页面后,自动滚动到底部 5、提供点击事件操控滚动条上下翻动 环境依赖 vue:vue…...

项目中遇到的一些问题总结(六)

Minio Minio是一个开源的分布式对象存储系统,它使用纠删码技术来保护数据。纠删码技术是一种恢复丢失和损坏数据的数学算法,它将数据分块冗余的分散存储在各个节点的磁盘上,从而提供了一定程度的数据可靠性和冗余性。 在Minio中,…...

Linux线程5——生产消费模型

生产消费模型 1个交易场所:超市 2种角色:生产者/消费者 3种关系:生产者和生产者(竞争关系也叫互斥关系),消费者和消费者(竞争关系同样是互斥关系),生产者和消费者(互斥,同步关系:生产完再消费或消费完再生产)。 以上是生产消费模型遵守的“321”原则。 生产者和消…...

Vue + Springboot 文件上传项目笔记(一)

Vue Springboot 文件上传项目笔记(一) 前端 使用脚手架创建项目 vue create vue_fileuploaddemo等待命令执行完毕添加 element-ui 组件 E:\java\idea_java_maven\vue_fileuploaddemo>yarn add element-ui yarn add v1.22.19 [1/4] Resolving pac…...

【华为OD机试真题2023B卷 JAVA】座位调整

华为OD2023(B卷)机试题库全覆盖,刷题指南点这里 座位调整 知识点迭代 时间限制:1s 空间限制:256MB 限定语言:C(clang11), C++(clang++11), Java(javac 1.8), Python3(3.9), JavaScript Node(12.18.2), Go(1.14.4) 题目描述: 疫情期间课堂的座位进行了特殊的调整,不能出…...

Python 学习 2022.08.28 周日

文章目录 一、 概述1.1) 之前写的文章:1.2) 基础点1.3) 配置1.4) Python2 和 Python3 的区别1.5) 相关问题跟踪解决1.6) 其他 一、 概述 1.1) 之前写的文章: 【Python大系】Python快速教程《Python 数据库 GUI CGI编…...

WEB自动化测试,一定得掌握的8个核心知识点

​ 编辑 写在前面 使用 cypress 进行端对端测试,和其他的一些框架有一个显著不同的地方,它使用 JavaScript 作为编程语言。 传统主流的 selenium 框架是支持多语言的,大多数 QA 会的 python 和 Java 语言都可以编写 selenium 代码&#xff0…...

期末复习总结!!【MySQL】库和表的基本操作 + 增删改查CURD

文章目录 前言一、数据库的基本操作1, 查看库2, 创建库3, 使用库4, 删除库 二、表的基本操作1, 创建表2, 查看表3, 查看表结构4, 删除表 三、增加(Create)四、查询(Retrieve) (重点)1, 全列查询2, 指定列查询3, 查询字段为表达式4, 指定别名5, 去重6, 排序7, 条件查询7.1, 基本…...

线上问题处理案例:出乎意料的数据库连接池 | 京东云技术团队

导读 本文是线上问题处理案例系列之一,旨在通过真实案例向读者介绍发现问题、定位问题、解决问题的方法。本文讲述了从垃圾回收耗时过长的表象,逐步定位到数据库连接池保活问题的全过程,并对其中用到的一些知识点进行了总结。 一、问题描述…...

有了 IP 地址,为什么还要用 MAC 地址?

MAC地址等价于快递包裹上的收件人姓名。 MAC地址更多是用于确认对方信息而存在的。就如同快递跨越几个城市来到你面前,快递员需要和你确认一下收件人是否正确,才会把包裹交给你一样。 IP66在线查IP地址位置:https://www.ip66.net/?utm-sour…...

ChatGPT 推出 iOS 应用,支持语音输入,使用体验如何?

最近,OpenAI 宣布推出官方 iOS 应用,允许用户随时随地访问其高人气 AI 聊天机器人,此举也打破了近几个月内苹果 App Store 上充斥似是而非的山寨服务的窘境。 该应用程序是 ChatGPT 的首个官方移动应用程序。ChatGPT 软件程序在去年推出后迅速…...

【科普】干货!带你从0了解移动机器人(二)—— 移动机器人硬件组成

移动机器人是一个多功能于一体的综合系统,内容涵盖了传感器技术、自动化技术、信息处理、电子工程等,它集环境感知、动态决策与规划于一体,是目前科学技术发展最活跃的领域之一。移动机器人的各种组件之间需要协同工作才能实现机器人的自主移…...

WIN提权 令牌窃取进程注入

令牌窃取(鸡肋玩意 2008包括2008以下) 令牌,又叫token,是系统临时产生的秘钥,相当于账号密码,用来决定是否允许此次请求和判断此次请求是属于哪一个用户。 win7一下的版本可以尝试 这里使用msf上自带的令…...

CSS 提高性能的方法,并提供一些实用的技巧和代码示例

CSS 是前端开发中不可或缺的一部分,它负责网页的样式和布局。随着网站规模和复杂度的增加,CSS 的性能也变得越来越重要。本文将介绍 CSS 提高性能的方法,并提供一些实用的技巧和代码示例。 使用压缩后的 CSS 文件 压缩 CSS 文件可以减小文件…...

程序员:面试造火箭,入职拧螺丝?太难了···

刚开始工作的时候,我也想不通这个问题,甚至很鄙视这种现象。后面当了面试官,做到了公司中层管理,也会站在公司以及行业角度去重新思考这个问题。 为什么这种现象会越来越普遍呢?尤其在 IT 行业愈加明显。 面试看的是…...

pg事务:隔离级别历史与SSI

事务隔离级别的历史 ANSI SQL-92定义的隔离级别和异常现象确实对数据库行业影响深远,甚至30年后的今天,绝大部分工程师对事务隔离级别的概念还停留在此,甚至很多真实的数据库隔离级别实现也停留在此。但后ANSI92时代对事物隔离有许多讨论甚至…...

【滑动窗口】【单调队列】个人练习-Leetcode-2373. Largest Local Values in a Matrix

题目链接:https://leetcode.cn/problems/largest-local-values-in-a-matrix/ 题目大意:给出一个N*N矩阵,要求做池化操作,选出每个3*3矩阵的最大值,返回一个(N-2)*(N-2)矩阵 思路:这是个简单题&#xff0c…...

工厂蓝牙定位技术的原理、应用场景、优势及潜在问题

蓝牙定位技术是近年来在工业领域中得到广泛应用的一项技术。随着工业自动化的快速发展和物联网技术的普及,工厂蓝牙定位成为了提高生产效率、优化生产流程和管理的重要工具。本文将详细介绍工厂蓝牙定位技术的原理、应用场景以及其在工业生产中的优势。 首先&#x…...

Linux内核模块编程

访问【WRITE-BUG数字空间】_[内附完整源码和文档] 1 总体设计思路 Linux内核是单体式结构,相对于微内核结构而言,其运行效率高,但是系统的可维护性和可扩展性较差。为此,Linux提供了内核模块(module)机制&…...

生成对抗网络(GANs)深入解析:原理、实现与应用

生成对抗网络(GANs)深入解析:原理、实现与应用 1. 背景介绍 生成对抗网络(Generative Adversarial Networks,简称GANs)是深度学习领域的一项重大突破,由Ian Goodfellow等人于2014年提出。GANs通…...

Python数据库编程全面指南:从SQL到NoSQL

Python数据库编程全面指南:从SQL到NoSQL 1. 背景介绍 数据库是现代应用程序的核心组件之一,用于存储和管理数据。Python作为一种广泛使用的编程语言,提供了丰富的库和工具来与各种数据库进行交互。本文将全面介绍Python数据库编程&#xff0c…...

别再乱用ref和reactive了!Vue3响应式API实战避坑指南(附代码对比)

Vue3响应式API深度解析:从原理到实战的避坑指南 在Vue3的日常开发中,ref和reactive这两个响应式API的使用频率极高,但许多开发者在使用过程中常常陷入各种"陷阱"。本文将深入剖析它们的底层机制,并通过实际案例展示如何…...

避开ArduPilot地面无人平台调试大坑:ACRO模式下的转向速率设置详解

ArduPilot无人平台ACRO模式转向调参实战:从参数解析到竞技级手感优化 第一次在空地上测试ArduPilot无人车时,我满心期待它能像竞技级RC模型那样做出精准的漂移过弯。但现实是——转向要么迟钝得像在泥沼里打转,要么突然变得过于敏感导致车辆原…...

数据驱动的战斗优化:GBFR Logs全方位解析与实战指南

数据驱动的战斗优化:GBFR Logs全方位解析与实战指南 【免费下载链接】gbfr-logs GBFR Logs lets you track damage statistics with a nice overlay DPS meter for Granblue Fantasy: Relink. 项目地址: https://gitcode.com/gh_mirrors/gb/gbfr-logs 在《碧…...

5个核心概念理解上下文工程:从Prompt Engineering到Context Engineering的范式转移

5个核心概念理解上下文工程:从Prompt Engineering到Context Engineering的范式转移 【免费下载链接】Awesome-Context-Engineering 🔥 Comprehensive survey on Context Engineering: from prompt engineering to production-grade AI systems. hundred…...

用Python的pydicom库搞定DICOM文件:从读取患者信息到三维重建的保姆级教程

用Python的pydicom库搞定DICOM文件:从读取患者信息到三维重建的保姆级教程 医学影像数据在现代医疗诊断中扮演着至关重要的角色,而DICOM(Digital Imaging and Communications in Medicine)作为医学数字成像和通信的国际标准&#…...

【Python原生AOT编译终极指南(2026权威实测版)】:覆盖CPython 3.14+、PyO3深度集成与生产级二进制交付全流程

第一章:Python原生AOT编译演进全景与2026技术定位Python长期以解释执行和字节码(.pyc)为核心运行范式,但自2021年CPython 3.11引入更快的PEP 659自适应解释器起,AOT(Ahead-of-Time)编译路径开始…...

Claude Code自动化工作流终极指南:如何实现PR审查、问题分类和持续集成

Claude Code自动化工作流终极指南:如何实现PR审查、问题分类和持续集成 【免费下载链接】claude-code-guide Claude Code Guide - Setup, Commands, workflows, agents, skills & tips-n-tricks go from beginner to power user! 项目地址: https://gitcode.c…...

Understat:突破足球数据壁垒的异步采集方案 | 开发者实战指南

Understat:突破足球数据壁垒的异步采集方案 | 开发者实战指南 【免费下载链接】understat An asynchronous Python package for https://understat.com/. 项目地址: https://gitcode.com/gh_mirrors/un/understat 问题发现:足球数据采集的隐形障碍…...