文章目录

  • 一、Squid代理服务器概念
  • 二、Squid代理的作用
  • 三、Squid的工作流程
  • 四、Squid主要组成部分
  • 五、Squid各种代理的定义
    • 1、正向代理
    • 2、反向代理
  • 六、Squid调度器的实现(负载均衡)

一、Squid代理服务器概念

1、Squid是基于Unix的代理服务器(proxy server),它缓存比起点源点更接近请求者的互联网内容。Squid支持缓存多种不同的网络对象,包括那些通过HTTP和FTP访问的人。缓存频繁要求网页、媒体文件和其它加速回答时间并减少带宽堵塞的内容。
2、Squid代理服务器(Squid proxy server)一般和原始文件一起安装在单独服务器而不是网络服务器上。Squid通过追踪网络中的对象运用起作用。Squid最初担当中介,仅仅是把客户要求传递到服务器并存储要求对象的拷贝。如果同一个客户或同一批客户在要求还在Squid缓存(cache)时要求相同的对象,Squid就可以立刻服务,加速下载并保存带宽。
3、squid是一种用来缓存Internet数据的软件。接受来自人们需要下载的目标(object)的请求并适当的处理这些请求。也就是说,如果一个人想下载一web界面,他请求squid为他取得这个页面。squid随之连接到远程服务器并向这个页面发出请求。然后,squid显式地聚集数据到客户端机器,而且同时复制一份。当下一次有人需要同一页面时, squid可以简单的从磁盘中读到它,那样数据会立即传输到客户机子
上。

二、Squid代理的作用

通过缓存的方式为用户提供Web访问加速
对用户的Web访问进行过滤控制

三、Squid的工作流程

当代理服务器中有客户端需要的数据时:
a. 客户端向代理服务器发送数据请求;
b. 代理服务器检查自己的数据缓存;
c. 代理服务器在缓存中找到了用户想要的数据,取出数据;
d. 代理服务器将从缓存中取得的数据返回给客户端。
当代理服务器中没有客户端需要的数据时:
a. 客户端向代理服务器发送数据请求;
b. 代理服务器检查自己的数据缓存;
c. 代理服务器在缓存中没有找到用户想要的数据;
d. 代理服务器向Internet 上的远端服务器发送数据请求;
f. 远端服务器响应,返回相应的数据;
g. 代理服务器取得远端服务器的数据,返回给客户端,并保留一份到自己的数据缓存中。

四、Squid主要组成部分

服务名 squid
主程序 /usr/sbin/squid
配置目录 /etc/squid
主配置文件 /etc/squid/squid.conf
监听tcp端口号 3128
默认访问日志文件 /var/log/squid/access.log

五、Squid各种代理的定义

1、正向代理

客户自己主动设定代理服务器的信息

( 在做此实验之前,需要搭建实验环境:重置两台虚拟机,保证实验环境的纯净,同时配置一台虚拟机,使虚拟机可以上网,将这一台可以上网的虚拟机作为squid代理服务器,另一台作为客户端,自己的真机相当于服务器。)

实验步骤:
在可以上网的虚拟机上进行:
步骤一:
yum install squid -y ##安装squid服务
systemctl start squid ##开启squid服务
systemctl enable squid ##设置squid服务是开机启动
步骤二:
netstat -antlupe | grep squid ##查看squid服务使用的端口号
vim /etc/squid/squid.conf ##编辑squid配置文件
(允许别人把我当作代理服务器,缓存100M,要定期自动清理,16个一级目录,256个二级目录)
systemctl restart squid ##重启服务

步骤三:
关闭火墙

在不可以上网的虚拟机上进行:
步骤一:
在此虚拟机这个客户端进行测试:此时依然ping不通百度,依旧不能上网。

步骤二:
在此虚拟机的浏览器里面设置代理主机的信息,使它在依然ping不通百度的情况下,但是可以神奇的上网,
在浏览器里面加入代理服务器的信息,浏览器上明确指名代理服务器的IP地址和端口号(3128端口)
客户端上网时,每次都把请求发送给代理服务器处理,代理服务器根据请求确定是否连接到远程web服务器获取数据。如果在本地缓冲区有目标文件,则直接将文件传给用户即可。如果没有的话则先取回文件,先在本地保存一份缓冲,然后将文件发送给客户端浏览器。

2、反向代理

企业服务器自己主动设定代理服务器的信息

squid反向代理也叫做cdn加速,利用squid代理服务器,此时属于反向代理
(此实验需要三台主机,自己的真机作为客户端,desktop虚拟机作为代理服务器,server虚拟机作为服务器(有apache服务))
实验步骤:
在代理服务器上:
步骤一:
设置squid反向代理服务器
直接查看有没有apache服务:rpm -qa | grep httpd 它没有apache,有squid服务
netstat -antlupe | grep 80这个代理服务器没有apache服务

在火墙中开启http

步骤二:
vim /ect/squid/squid.conf ## 编辑squid代理文件
cd /usr/share/doc/squid-3.3.8/ ##查看ls内容
less squid.conf.documentd ##在这个里面查看编写要求 写入
( http_port 80 vhost vport ##利用80端口访问apache的资源,写入apache的虚拟主机和虚拟端口
cache_peer 服务器ip parent(父级) 80(apache服务端口) 0(此台代理服务器没有合作伙伴) proxy-only)
systemctl restart squid

在服务器上:
步骤一:
yum install httpd ##安装apache服务
systemctl start httpd ##开启apache
systemctl stop firewalld ##关闭防火墙

步骤二:
cd /var/www/html
vim index.html
编辑发布文件

(自己填写内容)

systemctl restart httpd ##重启apache服务

在客户端上:测试
(1)添加本地解析:
vim /etc/hosts
172.25.254.x(写入代理服务器的ip)域名
(2)我在客户端ping www.westos.com(显示解析是由172.25.254.x给的)
或者在浏览器里面输入172.25.254.x直接可以看到服务器apache下面的东西,相当于客户端去访问代理服务器
或者在浏览器直接输入www.westos.com也可以,看到的也是服务器的东西
因为www.westos.com对应172.25.254.x,代理服务器没有资源,代理服务器去问服务器要东西,因此直接显示服务器下面共享出来的东西

六、Squid调度器的实现(负载均衡)

为了缓解服务器压力
(搭建实验环境,利用上面实验拥有apache服务的虚拟机,再配置一台有apache服务的主机。)
在代理虚拟机上进行操作
步骤一:
编辑squid配置文件:
http_access allow all
http_port 80 vhost vport
cache_peer 172.25.254.200 parent 80 0 proxy-only no-query round-robin originserver name=web1weight=2
cache_peer 172.25.254.11 parent 80 0 proxy-only no-query round-robin originserver name=web2
cache_peer_domain web1 web2 www.westos.com
systemctl restart squid

步骤二:
vim /etc/hosts
代理服务器的ip www.westos.com
firefox 输入www.westos.com
调度只能使用域名,ip不可以
注意:这里的用户访问只能是通过域名访问,如果通过ip访问的话就没有通过调度器而是直接访问,没有起到负载均衡的作用


Squid代理服务器相关推荐

  1. Sun Solaris 9 下Squid 代理服务器的配置笔记

    Sun Solaris 9 下Squid 代理服务器的配置也包括DNS域名解析服务器的配置. 一. squid 的工作是建立在 DNS 的服务之上的, 所以首先要配置好你的DNS服务,方可进行squi ...

  2. Linux上常用的安全技术iptables与squid代理服务器

    一.iptables 指令语法 iptables [-t table] command [match] [-j target/jump] [-t table] 指定规则表 -t 参数用来,内建的规则表 ...

  3. CentOS下搭建Squid代理服务器

    "量子扰动超导探测器.战争期间用它搜索潜艇,寻找敌人的赛伯武器系统." "哦?海军的玩意儿?打仗的时候用过?这么说,乌贼能读出你大脑芯片上储存的东西?"她停住脚 ...

  4. Squid 代理服务器 编译源码 伪造HTTP_X_FORWARDED_FOR 请求头

    本实验操作系统选用 CentOS release 5.6 (Final) 实验目的实现 Squid 代理服务器 编译源码 伪造HTTP_X_FORWARDED_FOR  请求头 .使其显示任意IP 过 ...

  5. Squid 代理服务器应用大全

    文章目录 一.Squid 服务基础 1.1 缓存代理概述 (一) 代理的工作机制 (二)代理的基本类型 1.2 编译安装及运行步骤(理论) 1.编译安装Squid(将所需的包上传到/opt目录下) 2 ...

  6. 部署Squid 代理服务器(内含传统、透明代理服务器的配置、ACL访问控制、日志分析、反向代理)

    标题 一.Squid 代理服务器 代理的工作机制 Squid 代理的类型 二.安装 Squid 服务 1.编译安装 Squid 2.修改 Squid 的配置文件 3.Squid 的运行控制 4.创建 ...

  7. 搭建Linux安全的Squid代理服务器

    本文介绍Linux下非常著名.常用的Squid代理服务器的使用,并着重讲述如何使用其提供的访问控制策略,来保证代理服务器的合法使用. 代理服务器的功能是代理网络用户取得网络信息,它 是网络信息的中转站 ...

  8. squid代理服务器详解

    本文出处不祥,好不容易发现,转到空间参考,感谢作者 再次感谢,本文的作者bye2000. Linux下架设代理服务器 作者:bye2000 一.代理服务器概述 1.1什么是代理服务器 在TCP/IP网 ...

  9. 构建Squid代理服务器-传统代理、透明代理、反向代理

    Squid是Linux系统中最常用的一款开源代理服务软件,主要提供缓存加速和应用层过滤控制的功能,可以很好的实现HTTP.FTP.DNS查询以及SSL等应用的缓存代理. 正向代理: 根据实现的方式不同 ...

  10. 10个关于linux中Squid代理服务器的实用面试问答

    10个关于linux中Squid代理服务器的实用面试问答 不仅是系统管理员和网络管理员时不时会听到"代理服务器"这个词,我们也经常听到.代理服务器已经成为一种企业常态,而且经常会接 ...

最新文章

  1. 如何在Django中以GROUP BY查询?
  2. anki 插入表格_anki|建造师选择题制作的方法
  3. JS 装饰器(Decorator)场景实战
  4. python数值积分_python与计算物理:实现数值积分的Simpson方法
  5. [Fanly Submit V4.1]WordPress插件普通收录
  6. Google Maps API 初级2
  7. aws rds监控慢sql_使用本机备份的AWS RDS SQL Server迁移
  8. 老王学linux-系统安全
  9. linux学习笔记:yum命令的常见用法
  10. python:configparser模块
  11. React/Router
  12. 比较算盘和计算机的优点,UPD4526BC 二进制与十进制相比较的优点
  13. CAD图纸可以约束转换后图纸格式的大小吗?
  14. Typora下载与安装详解
  15. HTML期末大作业-仿小米商城官网首页模板(HTML+CSS+JavaScript)
  16. vue3.0 ele-plus 与 antd-design的使用
  17. idea 商业版 社区版_idea社区版和商业版的区别
  18. 睦星科技Kolmostar获1000万美元 A 轮融资,将推出更多元的GNSS定位解决方案
  19. Matlab的物理建模仿真利器——Simscape及其编程语言Simscape language学习资源汇总
  20. 全景图有什么优势?为什么这么多人在做?

热门文章

  1. 集成运算放大器对输入级的要求
  2. 精益思想如何加速企业的全局价值流动?
  3. JavaScript设计模式之职责链模式
  4. Project免费视频教程来了
  5. 学考计算机fix怎么取消,学考XK-80科学型计算器的使用说明.ppt
  6. Ubuntu通过清华镜像源下载软件
  7. 禧龙字王 v1.0 beta 4 工作站版 是什么
  8. 【瑞芯微RK3188 VS 全志A31】性能向多项目对比评测
  9. AspNetPager 与分页存储过程详解
  10. 百度识图API教程一:使用百度api识别物体