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

服务(第二十七篇)squid-传统、穿透、反向代理

squid代理服务器:

主要提供缓存加速、应用层过滤控制的功能。

代理的工作机制:
1、代替客户机向网站请求数据,从而可以隐藏用户的真实IP地址。
2、将获得的网页数据(静态 Web 元素)保存到缓存中并发送给客户机,以便下次请求相同的数据时快速响应。

Squid 代理的类型:


传统代理:适用于Internet 正向代理,需在客户机指定代理服务器的地址和端口。

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

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

传统代理实验:

①安装squid服务

编译安装:

yum -y install gcc gcc-c++ make
tar zxvf squid-3.5.28.tar.gz -C /opt/
cd /opt/squid-3.5.28

./configure --prefix=/usr/local/squid \
--sysconfdir=/etc \
--enable-arp-acl \
--enable-linux-netfilter \
--enable-linux-tproxy \
--enable-async-io=100 \
--enable-err-language="Simplify_Chinese" \
--enable-underscore \
--disable-poll \
--enable-epoll \
--enable-gnuregex

make -j4 && make install

ln -s /usr/local/squid/sbin/* /usr/local/sbin/

useradd -M -s /sbin/nologin squid

chown -R squid:squid /usr/local/squid/var/ 

 ②编辑配置文件:

1、http_access allow all       #放在 http_access deny all 之前,允许任意客户机使用代理服务,控制规则自上而下匹配

2、http_port 3128             #用来指定代理服务监听的地址和端口(默认的端口号为 3128)

3、cache_effective_user squid     #添加,指定程序用户,用来设置初始化、运行时缓存的账号,否则启动不成功

4、cache_effective_group squid            #添加,指定账号基本组

5、coredump_dir /usr/local/squid/var/cache/squid        #指定缓存文件目录

③启动squid

squid -z                     #-z 选项用来初始化缓存目录
squid                        #启动 squid 服务

 ④创建 Squid 服务脚本

 ⑤#2345是默认自启动级别,如是-代表任何级别都不自启动;90是启动优先级,25是停止优先级,优先级范围是0-100,数字越大,优先级越低。
chmod +x /etc/init.d/squid
chkconfig --add squid
chkconfig --level 35 squid on

 ⑥修改配置文件:

1、cache_mem 64 MB                #指定缓存功能所使用的内存空间大小,便于保持访问较频繁的WEB对象,容量最好为4的倍数,单位为MB,一般设为物理内存的1/3
2、cache_swap_high 95            #cache目录使用量大于95%时,开始清理旧的cache
3、cache_swap_low 90            #cache目录清理到90%时停止

4、reply_body_max_size 100 MB            #允许用户下载的最大文件大小,以字节为单位,当下载超过指定大小的Web对象时,浏览器的报错页面中会出现“请求或访问太大”的提示默认设置0表示不进行限制
5、maximum_object_size 512000 KB        #设置squid磁盘缓存最大文件,以KB为单位,超过的文件不保存到硬盘,而是直接转发给用户
6、maximum_object_size_in_memory 512 KB    #设置squid内存缓存最大文件,超过的文件不保存到内存
7、minimum_object_size 0 KB    

⑦还需要修改防火墙规则

 ⑧客户机的代理配置
打开浏览器,工具-->Internet选项-->连接-->局域网设置-->开启代理服务器(地址:Squid服务器IP地址,端口:3128)

 

透明代理服务器:

①首先squid服务器先配置两张网卡(ens33和ens35),然后做内网的网卡和外网的网卡

然后设置内网和外网的网卡信息 

 squid配置:

②配置文件修改: ③开启ip转发功能:

④修改防火墙规则

⑤启动httpd的服务

实时监控:tail -f /var/log/httpd/access_log

 

acl控制:

在配置文件 squid.conf 中,ACL 访问控制通过以下两个步骤来实现:
(1)使用 acl 配置项定义需要控制的条件;
(2)通过 http_access 配置项对已定义的列表做“允许”或“拒绝”访问的控制。

①定义访问控制列表

②检测

 

Squid 反向代理:

 ①先配置两台后端服务器的网页信息

②清空squid服务器的规则,重配置

 ③修改配置文件

④检测: xi先配置好本地hosts

 

相关文章:

服务(第二十七篇)squid-传统、穿透、反向代理

squid代理服务器: 主要提供缓存加速、应用层过滤控制的功能。 代理的工作机制: 1、代替客户机向网站请求数据,从而可以隐藏用户的真实IP地址。 2、将获得的网页数据(静态 Web 元素)保存到缓存中并发送给客户机&#x…...

golang yaml 解析问题

golang 中解析 yaml 格式内容可以使用 yaml.v3 库来解决。下载 go 依赖 go get -u gopkg.in/yaml.v31. 示例 yaml 数据 config_mail_template:description: 验证码one: Verification Codeother: Verification Codeconfig_mail_template_reset_code:description: 重置密码one:…...

setContentHuggingPriority和setContentCompressionResistancePriority的使用

需求&#xff1a; 两个label并排显示&#xff0c;文字内容由服务器返回&#xff0c;label宽度以文字内容自适应&#xff0c;label之间间距大于等于10. 需要考虑以下情况&#xff1a; 当两个label的宽度和 < 屏幕宽度时&#xff0c;各自设置约束&#xff0c;无需处理&#…...

java springboot yml文件配置 多环境yml

如果是properties改用yml&#xff0c;直接改后缀&#xff0c;原文件中的配置语法改用yml的语法即可&#xff0c;系统会自动扫描application.properties和application.yml文件&#xff08;注意&#xff1a;改了之后需要maven 命令 clean一下&#xff0c;清个缓存&#xff09;。 …...

DMBOK知识梳理for CDGA/CDGP——第一章数据管理(附常考知识点)

第一章 数据管理 第一章在 CDGA|CDGP考试中分值占比均不是很高&#xff0c;主要侧重点是考概念性的知识&#xff0c;理解数据管理的目标原则、还有与其他概念的区别点&#xff0c;同时掌握几个关键核心的图&#xff08;车轮图、六边形图、语境关系图&#xff09;。总体来说难度…...

065:cesium设置带有箭头的线材质(material-9)

第065个 点击查看专栏目录 本示例的目的是介绍如何在vue+cesium中设置带有箭头的线材质,请参考源代码,了解PolylineArrowMaterialProperty的应用。 直接复制下面的 vue+cesium源代码,操作2分钟即可运行实现效果. 文章目录 示例效果配置方式示例源代码(共82行)相关API参考…...

Java常用API

1 常用API API(:Application Programming Interface ):应用程序编程接口1.1 Math类 Math中没有构造方法,类的成员都是静态的(static修饰),通过类名就可以直接调用常用方法方法名说明public static int abs(int a)获取参数a的绝对值public static double ceil(double a) …...

【C++ 学习 ⑥】- C++ 动态内存管理详解

目录 一、new 表达式和 delete 表达式的工作机理 二、operator new 和 operator delete 函数 2.1 - 标准库定义 2.2 - 重载 三、定位 new 表达式 四、常见面试题 4.1 - malloc/free 和 new/delete 的区别 4.2 - 内存泄漏 在 C 中&#xff0c;new 和 delete 既是关键字&…...

【5.21】六、自动化测试—常见技术

目录 6.2 自动化测试常见技术 1. 录制与回放测试 2. 脚本测试 3. 数据驱动测试 6.2 自动化测试常见技术 自动化测试技术有很多种&#xff0c;这里介绍3种常见的技术&#xff1a; 1. 录制与回放测试 录制是指使用自动化测试工具对桌面应用程序或者是Web页面的某一项功能进…...

JavaScript中的事件循环机制,包括事件循环的原理、宏任务和微任务、事件队列和调用栈、以及如何优化事件循环

JavaScript中的事件循环机制是JavaScript运行引擎的核心之一&#xff0c;它决定了代码的执行方式和效率。本文将从几个方面介绍JavaScript中的事件循环机制&#xff0c;包括事件循环的原理、宏任务和微任务、事件队列和调用栈、以及如何优化事件循环。 一、事件循环的原理 事…...

【华为OD机试c++】解压报文【2023 B卷 |200分】

题目描述 为了提升数据传输的效率&#xff0c;会对传输的报文进行压缩处理。 输入一个压缩后的报文&#xff0c;请返回它解压后的原始报文。 压缩规则&#xff1a;n[str]&#xff0c;表示方括号内部的 str 正好重复 n 次。 注意 n 为正整数&#xff08;0 < n < 100&a…...

JS中Array的forEach、map、filter方法区别?

一&#xff1a;基本用法 1、forEach()函数用于对数组中的每个元素执行给定的函数&#xff0c;而它不返回任何值&#xff0c;它只是对每个元素调用传入的函数。这个函数可以接受三个参数&#xff1a;当前元素的值、当前元素的索引和整个数组。 const arr [1, 2, 3]; arr.forE…...

Java的Arrays类的sort()方法(41)

目录 sort&#xff08;&#xff09;方法 1.sort&#xff08;&#xff09;方法的格式 2.使用sort&#xff08;&#xff09;方法时要导入的类 3.作用 4.作用的对象 5.注意 6.代码及结果 &#xff08;1&#xff09;代码 &#xff08;2&#xff09;结果 sort&#xff08;&…...

Redis安装及其配置文件修改

一、redis 安装 点击即可下载 https://download.redis.io/releases/ 将下载后的包通过xftp上传到服务器 解压&#xff0c;我这边是解压到/usr/local目录下 -- 创建路径 mkdir /usr/local/redis -- 解压 tar -zxvf redis-4.0.0.tar.gz -C /usr/local/redis 为防止编译失败&am…...

VSOMEIP3抓包数据

环境 $ cat /etc/os-release NAME"Ubuntu" VERSION"20.04.6 LTS (Focal Fossa)" IDubuntu ID_LIKEdebian PRETTY_NAME"Ubuntu 20.04.6 LTS" VERSION_ID"20.04" HOME_URL"https://www.ubuntu.com/" SUPPORT_URL"https:/…...

基于PyQt5的图形化界面开发——Windows内存资源监视助手[附带编译exe教程]

基于PyQt5的图形化界面开发——Windows内存资源监视助手[附带编译exe教程] 0. 前言1. 资源信息获取函数——monitor.py2. UI界面——listen.py3. main.py4. 运行效果5. 编译 exe 程序6. 其他PyQt文章 0. 前言 利用 PyQt5 开发一个 windows 的资源监视助手&#xff0c;在使用虚…...

Linus Torvalds发布了第一个Linux内核6.4候选版本

导读自Linux内核6.3发布和下一个内核系列Linux 6.4的合并窗口开放以来&#xff0c;已经过去了一段时间&#xff0c;近日&#xff0c;Linus Torvalds发布了第一个RC&#xff08;候选发布版&#xff09;的里程碑&#xff0c;供公众测试。 为期两周的Linux内核6.4合并窗口现已关闭…...

由浅入深Dubbo核心源码剖析环境介绍

目录 1 框架介绍1.1 概述1.2 运行架构1.3 整体设计 2 环境搭建2.1 源码拉取2.2 源码结构2.3 环境导入2.4 测试2.5 管理控制台 1 框架介绍 1.1 概述 Dubbo是阿里巴巴公司开源的一个高性能优秀的服务框架&#xff0c;使得应用可通过高性能的 RPC 实现服务的输出和输入功能&#…...

Java 远程连接 SQLite 数据库

Java 可以使用 JDBC API 来连接 SQLite 数据库。但是&#xff0c;SQLite 不支持远程连接&#xff0c;因为它是一种文件数据库&#xff0c;需要直接访问数据库文件。 如果您需要从远程位置访问 SQLite 数据库&#xff0c;可以将 SQLite 数据库文件放在共享文件夹中&#xff0c;…...

网安面试题大全(附答案)

本文面试题汇总&#xff1a; 防范常见的 Web 攻击 重要协议分布层 arp协议的工作原理 rip协议是什么&#xff1f;rip的工作原理 什么是RARP&#xff1f;工作原理 OSPF协议&#xff1f;OSPF的工作原理 TCP与UDP区别总结 什么是三次握手四次挥手&#xff1f; tcp为什么要三次握手…...

终极指南:如何使用Legacy iOS Kit为旧款iOS设备降级与越狱

终极指南&#xff1a;如何使用Legacy iOS Kit为旧款iOS设备降级与越狱 【免费下载链接】Legacy-iOS-Kit An all-in-one tool to restore/downgrade, save SHSH blobs, jailbreak legacy iOS devices, and more 项目地址: https://gitcode.com/gh_mirrors/le/Legacy-iOS-Kit …...

ChatGPT翻译质量真相:20年本地化专家实测12类文本(技术文档/法律合同/文学隐喻),准确率暴跌的3个致命盲区!

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;ChatGPT翻译质量怎么样 ChatGPT 在多语种翻译任务中展现出较强的上下文理解与语义连贯能力&#xff0c;尤其在非技术类通用文本&#xff08;如日常对话、新闻摘要、文学性段落&#xff09;上&#xff0…...

Prompt Cache:别再为同样的 System Prompt 重算一遍

多轮对话里 System Prompt 每次都一样——500 Token 的固定前缀&#xff0c;每轮推理都要重跑一遍 Prefill。等于把同一段文字反复"读"几十上百遍。Prompt Cache 就是来省掉这件重复劳动的。 正常推理流程下&#xff0c;一个新请求进来先跑 Prefill&#xff08;全 P…...

027、原理图绘制进阶:总线、网络标号、层次图

027 原理图绘制进阶:总线、网络标号、层次图 从一块烧掉的板子说起 去年接手一个同事离职留下的项目,一块四层板,MCU挂了三片ADC、两片DAC、一个FPGA,外加一堆传感器。原理图打开那一刻,我差点把咖啡喷屏幕上——整张图就一张Sheet,密密麻麻的飞线像蜘蛛网,网络标号全…...

终极CTF MISC解题指南:如何用PuzzleSolver快速攻克安全竞赛难题

终极CTF MISC解题指南&#xff1a;如何用PuzzleSolver快速攻克安全竞赛难题 【免费下载链接】PuzzleSolver 一款针对CTF竞赛MISC的工具~ 项目地址: https://gitcode.com/gh_mirrors/pu/PuzzleSolver 你是否曾在CTF竞赛中面对神秘的二进制数据感到无从下手&#xff1f;是…...

表面等离子体神经网络(SPNN)原理与动态识别应用

1. 表面等离子体神经网络技术解析表面等离子体神经网络&#xff08;Surface Plasmonic Neural Network, SPNN&#xff09;是一种融合微波工程与深度学习的前沿计算架构。其核心创新点在于利用表面等离子体激元&#xff08;Surface Plasmon Polaritons, SPPs&#xff09;的独特物…...

Veo整合失败的3大致命误区,第2个90%团队仍在踩——附Google Cloud Vertex AI+Veo私有化部署Checklist(含GPU显存优化参数)

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;Veo与其他AI视频工具整合 Veo 作为 Google 推出的高保真长时长视频生成模型&#xff0c;其核心价值不仅体现在独立生成能力上&#xff0c;更在于与现有 AI 视频工作流的深度协同。通过标准化 API 接口与…...

健身党福音:用YOLOv7+Python做个食物卡路里识别App(附完整源码和数据集)

从零打造智能饮食助手&#xff1a;YOLOv7与Python的卡路里识别实践每次站在自助餐厅琳琅满目的食物前&#xff0c;健身爱好者们都会面临一个灵魂拷问&#xff1a;这盘食物的热量到底有多少&#xff1f;传统的手动查询不仅效率低下&#xff0c;还经常因为分量估算不准导致热量计…...

题解:AcWing 271 杨老师的照相排列

本文分享的必刷题目是从蓝桥云课、洛谷、AcWing等知名刷题平台精心挑选而来&#xff0c;并结合各平台提供的算法标签和难度等级进行了系统分类。题目涵盖了从基础到进阶的多种算法和数据结构&#xff0c;旨在为不同阶段的编程学习者提供一条清晰、平稳的学习提升路径。 欢迎大…...

3分钟彻底清理Windows右键菜单!ContextMenuManager让你的效率提升200%

3分钟彻底清理Windows右键菜单&#xff01;ContextMenuManager让你的效率提升200% 【免费下载链接】ContextMenuManager &#x1f5b1;️ 纯粹的Windows右键菜单管理程序 项目地址: https://gitcode.com/gh_mirrors/co/ContextMenuManager 你是不是也遇到过这种情况&…...