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

Squid代理服务器的安装使用

1.简介

Squid代理服务器是一种高效的中间服务器,位于客户端和目标服务器之间,起到了重要的网络中介作用。以下是对Squid代理服务器的详细介绍:

一、功能特点

  1. 缓存功能

    • Squid可以缓存经过它的请求和响应数据。当客户端发起请求时,如果Squid已经缓存了相同的请求,它将直接返回缓存的响应,而无需再次向目标服务器发送请求。
    • 这种方式能够显著提高访问速度,并减少网络带宽的占用。
  2. 访问控制

    • Squid支持访问控制功能,管理员可以配置访问控制列表(ACL)来控制特定用户或IP地址的访问权限。
    • 通过设置ACL,Squid可以实现网络访问的安全性和管理,防止未经授权的访问。
  3. 带宽限制

    • Squid可以设置带宽限制,将可用带宽平均分配给多个客户端。
    • 在有限带宽的网络环境中,这种功能非常有用,可以避免某个客户端占用过多的带宽资源。
  4. 内容过滤

    • Squid支持基于正则表达式的内容过滤功能,可以根据规则过滤特定的内容。
    • 例如,可以屏蔽广告、违禁词等不需要的内容,提高网络访问的纯净度和安全性。

二、工作原理

  1. 客户端请求:当客户端发起请求时,它将请求发送给Squid代理服务器。
  2. 缓存查找:Squid在缓存中查找是否存在与客户端请求相同的对象。
  3. 响应处理:如果找到相同的对象,Squid将直接返回缓存的响应给客户端;如果未找到,Squid将向目标服务器发送请求并取回数据,然后缓存并返回给客户端。

三、主要组成部分

  1. 服务名:Squid代理服务器的服务名通常为“squid”。
  2. 主程序:Squid的主程序负责处理客户端的请求和与目标服务器的通信。
  3. 配置目录:存放Squid配置文件的目录。
  4. 主配文件:Squid的主配置文件,通常位于配置目录下,用于设置Squid的缓存、访问控制、带宽限制等功能。
  5. 监听TCP端口号:Squid默认监听TCP端口3128,用于接收客户端的请求。

四、应用场景

  1. 企业网络:在企业内部网络中,Squid可以作为代理服务器来缓存常用资源,提高员工访问内部资源的速度。
  2. 学校网络:在学校网络中,Squid可以用于过滤不良内容,保护学生的网络安全。
  3. 组织内部网络:在各类组织内部网络中,Squid可以用于实现访问控制和带宽管理等功能。

五、优缺点

  1. 优点

    • 安全性高:支持多种加密协议,保护网络隐私。
    • 稳定性好:经过长时间的发展和完善,Squid已经成为一个稳定的代理服务器软件。
    • 传输速度快:通过缓存和压缩技术,提高网络传输速度。
    • 易于部署和配置:提供详细的文档和社区支持,方便用户进行部署和配置。
  2. 缺点

    • 需要客户端软件支持:在某些情况下,客户端需要配置代理服务器才能使用Squid。
    • 配置相对复杂:对于初学者来说,Squid的配置可能相对复杂和繁琐。

综上所述,Squid代理服务器是一种功能强大、灵活易用的代理服务器软件。通过合理配置和使用Squid,可以显著提高网络访问速度、加强网络安全管理并优化网络带宽资源。

2. Squid的安装

yum install squidsystemctl enable squidsystemctl start squid

3.配置文件squid.conf

一旦Squid被安装,安装过程中会自动创建配置文件,通常位于 /etc/squid/squid.conf 路径下。用户需要确保检查软件包的版本,以确保其符合企业级需求和功能。完成安装后,使用 systemctl start squid 命令启动服务,以确保代理服务器能够正常运作。

vim /etc/squid/squid.conf

# Squid 配置文件
# 这是注释,任何以#开头的行都是注释# 设置Squid监听的端口
http_port 3128# 允许所有端口的代理
acl all_ports port 0-65535
http_access allow all_ports# 不限制任何连接
acl all src all
http_access allow all# 不设置访问密码# 基本的访问控制列表
acl manager proto cache_object
acl localhost src 127.0.0.1/32 ::1# 安全限制
http_access allow manager localhost
http_access deny manager# 拒绝所有未明确允许的请求
#http_access deny all# 缓存设置(可选)
cache_dir ufs /var/spool/squid 100 16 256# 刷新配置
refresh_pattern ^ftp:           1440    20%     10080
refresh_pattern ^gopher:        1440    0%      1440
refresh_pattern -i (/cgi-bin/|\?) 0     0%      0
refresh_pattern .               0       20%     4320# 其他设置(如有需要可以添加)

4. 使用实践

设置环境变量

export HTTP_PROXY=http://squid01:3128/
export HTTPS_PROXY=http://squid01:3128/
启用代理:export http_proxy=http://proxy_ip:port
禁用代理:unset http_proxy
检查当前代理状态:echo $http_proxy

然后可以使用了

[root@localhost ~]# curl www.baidu.com -v
* About to connect() to proxy 10.0.0.251 port 3128 (#0)
*   Trying 10.0.35.251...
* Connected to 10.0.0.251 (10.0.0.251) port 3128 (#0)
> GET HTTP://www.baidu.com/ HTTP/1.1
> User-Agent: curl/7.29.0
> Host: www.baidu.com
> Accept: */*
> Proxy-Connection: Keep-Alive
>
< HTTP/1.1 200 OK
< Accept-Ranges: bytes
< Cache-Control: private, no-cache, no-store, proxy-revalidate, no-transform
< Content-Length: 2381
< Content-Type: text/html
< Date: Tue, 24 Dec 2024 06:20:54 GMT
< ETag: "588604c1-94d"
< Last-Modified: Mon, 23 Jan 2017 13:27:29 GMT
< Pragma: no-cache
< Server: bfe/1.0.8.18
< Set-Cookie: BDORZ=27315; max-age=86400; domain=.baidu.com; path=/
< X-Cache: MISS from localhost
< X-Cache-Lookup: MISS from localhost:3128
< Via: 1.1 localhost (squid/3.5.20)
< Connection: keep-alive
<
<!DOCTYPE html>
<!--STATUS OK--><html> <head><meta http-equiv=content-type content=text/html;charset=utf-8><meta http-equiv=X-UA-Compatible content=IE=Edge><meta content=always name=referrer><link rel=stylesheet type=text/css href=http://s1.bdstatic.com/r/www/cache/bdorz/baidu.min.css><title>百度一下,你就知道</title></head> <body link=#0000cc> <div id=wrapper> <div id=head> <div class=head_wrapper> <div class=s_form> <div class=s_form_wrapper> <div id=lg> <img hidefocus=true src=//www.baidu.com/img/bd_logo1.png width=270 height=129> </div> <form id=form name=f action=//www.baidu.com/s class=fm> <input type=hidden name=bdorz_come value=1> <input type=hidden name=ie value=utf-8> <input type=hidden name=f value=8> <input type=hidden name=rsv_bp value=1> <input type=hidden name=rsv_idx value=1> <input type=hidden name=tn value=baidu><span class="bg s_ipt_wr"><input id=kw name=wd class=s_ipt value maxlength=255 autocomplete=off autofocus></span><span class="bg s_btn_wr"><input type=submit id=su value=百度一下 class="bg s_btn"></span> </form> </div> </div> <div id=u1> <a href=http://news.baidu.com name=tj_trnews class=mnav>新闻</a> <a href=http://www.hao123.com name=tj_trhao123 class=mnav>hao123</a> <a href=http://map.baidu.com name=tj_trmap class=mnav>地图</a> <a href=http://v.baidu.com name=tj_trvideo class=mnav>视频</a> <a href=http://tieba.baidu.com name=tj_trtieba class=mnav>贴吧</a> <noscript> <a href=http://www.baidu.com/bdorz/login.gif?login&amp;tpl=mn&amp;u=http%3A%2F%2Fwww.baidu.com%2f%3fbdorz_come%3d1 name=tj_login class=lb>登录</a> </noscript> <script>document.write('<a href="http://www.baidu.com/bdorz/login.gif?login&tpl=mn&u='+ encodeURIComponent(window.location.href+ (window.location.search === "" ? "?" : "&")+ "bdorz_come=1")+ '" name="tj_login" class="lb">登录</a>');</script> <a href=//www.baidu.com/more/ name=tj_briicon class=bri style="display: block;">更多产品</a> </div> </div> </div> <div id=ftCon> <div id=ftConw> <p id=lh> <a href=http://home.baidu.com>关于百度</a> <a href=http://ir.baidu.com>About Baidu</a> </p> <p id=cp>&copy;2017&nbsp;Baidu&nbsp;<a href=http://www.baidu.com/duty/>使用百度前必读</a>&nbsp; <a href=http://jianyi.baidu.com/ class=cp-feedback>意见反馈</a>&nbsp;京ICP证030173号&nbsp; <img src=//www.baidu.com/img/gs.gif> </p> </div> </div> </div> </body> </html>
* Connection #0 to host 10.0.0.251 left intact

相关文章:

Squid代理服务器的安装使用

1.简介 Squid代理服务器是一种高效的中间服务器&#xff0c;位于客户端和目标服务器之间&#xff0c;起到了重要的网络中介作用。以下是对Squid代理服务器的详细介绍&#xff1a; 一、功能特点 缓存功能&#xff1a; Squid可以缓存经过它的请求和响应数据。当客户端发起请求时…...

爬虫学习案例8

爬取京东评论信息 采用DrissionPage自动化工具采集&#xff0c;感觉比Selenium工具好&#xff0c;真香。 安装第三方库 pip install DrissionPage pip install pandas pip install pyecharts pip install jieba pip install wordcloud1.安装DrissionPage库 DrissionPage安装…...

深入了解 CouchDB 的 Mango 查询:操作符和限制

CouchDB 是一个基于文档的数据库管理系统,支持 HTTP 协议,拥有强大的同步机制和灵活的数据模型。Mango 查询是 CouchDB 中用于数据检索的现代化查询接口,灵感来自 MongoDB 的查询语法。本文将深入探讨 Mango 查询中的各种操作符和限制,并提供详细的例子和说明,帮助你更好地…...

基于SSM(Spring + Spring MVC + MyBatis)框架搭建一个病人跟踪信息管理系统

基于SSM&#xff08;Spring Spring MVC MyBatis&#xff09;框架搭建一个病人治疗跟踪信息系统是一个相对复杂的项目&#xff0c;涉及到多个模块和功能。以下是一个简要的指导步骤。 1. 环境准备 开发环境&#xff1a;确保安装了Java Development Kit (JDK)&#xff0c;建议…...

U盘文件名变乱码:原因、恢复与预防全解析

一、U盘文件名变乱码现象描述 在日常使用U盘进行数据传输和存储时&#xff0c;我们有时会遇到一个令人头疼的问题&#xff1a;U盘中的文件名突然变成了乱码&#xff0c;无法正常识别或访问。这些乱码文件名可能包含各种奇怪的字符和符号&#xff0c;使得原本有序的文件管理变得…...

EasyGBS国标GB28181公网平台P2P远程访问故障诊断:云端服务端排查指南

随着信息技术的飞速发展&#xff0c;视频监控领域正经历从传统安防向智能化、网络化安防的深刻转变。EasyGBS平台&#xff0c;作为基于国标GB28181协议的视频流媒体平台&#xff0c;为用户提供了强大的视频监控直播功能。然而&#xff0c;在实际应用中&#xff0c;P2P远程访问可…...

一网多平面

“一网多平面”是一种网络架构概念&#xff0c;具体指的是在一张物理网络之上&#xff0c;逻辑划分出“1N”个平面。以下是对“一网多平面”的详细解释&#xff1a; 定义与构成 01一网多平面 指的是在统一的物理网络基础设施上&#xff0c;通过逻辑划分形成多个独立的网络平面…...

animatediff 模型网盘分享

网盘 一、123网盘&#xff0c;不限速 https://www.123pan.com/s/ueQ8jv-OlzPh.html 网盘 网址 animatediff 国外网址https://huggingface.co/guoyww/animatediff/tree/cd71ae134a27ec6008b968d6419952b0c0494cf2 国内镜像在 https://hf-mirror.com/guoyww/animatediff/t…...

ansible play-book玩法

使用ansible-playbook实现安装nginx_ansible 安装nginx-CSDN博客文章浏览阅读1.5k次&#xff0c;点赞14次&#xff0c;收藏19次。本文详细介绍了如何在Linux环境中准备Ansible环境&#xff0c;包括配置主机、下载和安装Ansible&#xff0c;以及使用yum模块和tar包源码安装Nginx…...

MySQL索引-索引的分类和创建

索引类型 数据类型 B树索引Hash索引FullText全文索引 物理存储 聚簇索引二级索引 字段特性 主键索引唯一索引普通索引前缀索引 字段个数 单列索引联合索引 创建索引 创建表时一同创建创建表后单独创建创建表后通过修改表结构创建 可以通过 SHOW INDEX FROM test_table;查看…...

如何给负载均衡平台做好安全防御

在现代网络架构中&#xff0c;负载均衡&#xff08;Load Balancing&#xff09;扮演着至关重要的角色。它不仅负责将流量分配到多个服务器以确保高效的服务交付&#xff0c;还作为第一道防线来抵御外部攻击。为了保护您的应用程序和服务免受潜在威胁&#xff0c;必须对负载均衡…...

HR/TA/HRBP的关系

HR&#xff08;人力资源&#xff09;领域包含 TA&#xff08;人才获取&#xff09;和 HRBP&#xff08;人力资源业务伙伴&#xff09;这两个重要的角色&#xff0c;但它们只是 HR 工作的一部分分支&#xff0c;一般我们说的HR指TA。 1. 人才获取&#xff08;TA&#xff09; 定…...

Docker环境下MySQL数据库持久化部署全攻略

概述 在当今的软件开发领域&#xff0c;Docker容器技术已经成为应用部署和管理的新标准。它不仅简化了应用的部署流程&#xff0c;还为数据管理提供了灵活的解决方案。特别是在涉及到MySQL数据库时&#xff0c;数据持久化是一个不可忽视的重要环节。本文将分享如何在Docker中部…...

如何查看pad的console输出,以便我们更好的进行调试,查看并了解实际可能的问题。

1、以下是baidu AI回复&#xff1a; 2、说明&#xff1a; 1&#xff09;如果小伙伴们经常做android开发的话&#xff0c;这个不陌生&#xff0c;因为调试都是要开启这个开发者模式。并启用USB调试模式。 2&#xff09;需要连上USB线&#xff0c;有的时候会忘记&#xff0c;然…...

react中使用ResizeObserver来观察元素的size变化

在 React 中使用 ResizeObserver 来观察元素的大小变化&#xff0c;可以通过创建一个自定义 Hook 来封装 ResizeObserver 的逻辑&#xff0c;并在组件中使用这个 Hook。以下是一个完整的示例&#xff0c;展示了如何在 React 中使用 ResizeObserver 来观察元素的大小变化。 自定…...

Linux快速入门-Linux文件系统管理

Linux文件系统管理 1. Linux文件系统概述1.1 文件系统概念1.2 用户权限差异1.3 文件命名规范 2. Linux文件系统分类及特点2.1 ext2&#xff08;第二扩展文件系统&#xff09;2.2 ext3&#xff08;第三扩展文件系统&#xff09;2.3 ext4&#xff08;第四扩展文件系统&#xff09…...

漏洞检测工具:Swagger UI敏感信息泄露

Swagger UI敏感信息泄露 漏洞定义 Swagger UI是一个交互式的、可视化的RESTful API文档工具&#xff0c;它允许开发人员快速浏览、测试API接口。Swagger UI通过读取由Swagger&#xff08;也称为OpenAPI&#xff09;规范定义的API描述文件&#xff08;如swagger.json或swagger…...

VSCode如何修改默认扩展路径和用户文件夹目录到D盘

在使用Visual Studio Code&#xff08;VSCode&#xff09;时&#xff0c;随着安装的扩展和用户数据的增多&#xff0c;C盘的空间可能会逐渐紧张。为了优化存储管理&#xff0c;将VSCode的默认扩展路径和用户文件夹目录迁移到D盘是一个有效的解决方案。以下是详细的操作步骤&…...

【超详细实操内容】django的身份验证系统之限制用户访问的三种方式

目录 1、使用request.user.is_authenticated属性 2、装饰器login_required 3、LoginRequiredMixin类 通常情况下,网站都会对用户限制访问,例如,未登录的用户不可访问用户中心页面。Django框架中使用request.user.isauthenticated属性、装饰器loginrequired和LoginRequire…...

AI芯片常见概念

文章目录 AI芯片常见概念前言常见概念AI芯片分类按照芯片的技术架构分GPU半定制化的 FPGA全定制化 ASIC神经拟态芯片 按应用场景分训练卡推理卡 按部署位置分国产AI卡资料汇总 AI芯片算力和能效比AI芯片算力AI芯片能效比 封装相关Chiplet技术3DIC三星多芯片集成联盟&#xff08…...

写段代码教会你什么是HOOK技术?HOOK技术能干什么?褂

为 HagiCode 添加 GitHub Pages 自动部署支持 本项目早期代号为 PCode&#xff0c;现已正式更名为 HagiCode。本文记录了如何为项目引入自动化静态站点部署能力&#xff0c;让内容发布像喝水一样简单。 背景/引言 在 HagiCode 的开发过程中&#xff0c;我们遇到了一个很现实的问…...

VS2022里NX/UG二次开发模板不显示?别慌,这份保姆级修复指南帮你搞定

VS2022里NX/UG二次开发模板不显示&#xff1f;终极解决方案全解析 当你满怀期待地在VS2022中准备开始NX/UG二次开发时&#xff0c;却发现模板向导神秘消失——这种挫败感我深有体会。作为一位经历过多次版本迁移的工业软件开发者&#xff0c;我完全理解这种"明明按照教程…...

LeetCode--541.反转字符串 II(字符串)

题目描述 给定一个字符串 s 和一个整数 k&#xff0c;从字符串开头算起&#xff0c;每计数至 2k 个字符&#xff0c;就反转这 2k 字符中的前 k 个字符。 如果剩余字符少于 k 个&#xff0c;则将剩余字符全部反转。如果剩余字符小于 2k 但大于或等于 k 个&#xff0c;则反转前 k…...

深入探索Linux Test Project:专业级Linux系统测试框架完全指南

深入探索Linux Test Project&#xff1a;专业级Linux系统测试框架完全指南 【免费下载链接】ltp Linux Test Project (mailing list: https://lists.linux.it/listinfo/ltp) 项目地址: https://gitcode.com/gh_mirrors/ltp/ltp Linux Test Project&#xff08;LTP&#…...

CANoe离线回放与Trace回放:场景选择与实战配置全解析

1. CANoe回放功能概述&#xff1a;从数据文件到场景复现 第一次接触CANoe的回放功能时&#xff0c;我完全被各种专业术语搞晕了。直到有一次需要复现一个偶发的总线故障&#xff0c;才发现这个功能简直是汽车电子测试工程师的"时光机"。简单来说&#xff0c;CANoe的离…...

“别再买成品缸了,又丑又乱!”

推荐创牌无管件无溢流区鱼缸&#xff01;缸内干干净净&#xff0c;整块玻璃通透到底&#xff0c;颜值直接封神。没有溢流区&#xff0c;空间大到能随便造景。底滤强排&#xff0c;水质清澈不发臭&#xff0c;换水都一键搞定。客厅、玄关、办公室一放&#xff0c;高级感拉满&…...

LaserGRBL激光雕刻软件终极指南:从零开始掌握专业雕刻技巧

LaserGRBL激光雕刻软件终极指南&#xff1a;从零开始掌握专业雕刻技巧 【免费下载链接】LaserGRBL Laser optimized GUI for GRBL 项目地址: https://gitcode.com/gh_mirrors/la/LaserGRBL LaserGRBL是一款专为GRBL控制器优化的专业激光雕刻软件&#xff0c;通过直观的图…...

终极指南:如何在OPPO手机上配置Salt Player流体云实现多设备音乐无缝切换

终极指南&#xff1a;如何在OPPO手机上配置Salt Player流体云实现多设备音乐无缝切换 【免费下载链接】SaltPlayerSource Salt Player (A local music player trusted and chosen by hundreds of thousands of users) for Android Release, Feedback. 项目地址: https://gitc…...

【CLion实战】CMakeLists文件加载失败:从环境冲突到.gitignore配置的完整解决路径

1. 问题现象&#xff1a;当CLion突然"失明"时 那天早上我像往常一样打开CLion准备继续昨天的项目&#xff0c;结果发现原本好好的项目突然变成了"无头苍蝇"——CMakeLists文件加载失败&#xff0c;项目结构一片空白&#xff0c;所有代码文件都显示不可编译…...

unix-privesc-check使用教程

unix-privesc-check是Kali Linux中一款款专注于Unix/Linux系统本地权限提升检测的轻量级脚本工具。它通过自动化扫描系统中的文件权限、配置设置和潜在安全漏洞&#xff0c;帮助渗透测试人员和系统管理员识别可能被本地用户利用来提升权限&#xff08;如从普通用户获取root权限…...