毕业设计(论文)-基于Linux的Squid代理服务器的架设.doc_第1页
毕业设计(论文)-基于Linux的Squid代理服务器的架设.doc_第2页
免费预览已结束,剩余30页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

本科毕业论文 基于 linux 的 squid 代理服务器的架设 学 院: 计算机与信息工程学院 专 业: 计算机科学与技术 学 号: 111013632 姓 名: 指导教师: 职 称: 论文提交日期:二 一五一五年六月 摘 要 做为眼下广受青睐的操作系统,linux 已经愈来愈受到世人的关注。尽管 当前 linux 包含的软件还不是很丰富,替代 windows 作为一般 pc 机操作系统还 为时过早,但是在服务器领域,linux 的稳定性,可操作性一点也不输于任何 操作系统,并且也有良好的软件支持 。squid 就是其中之一。linux 加 squid 的配合做为代理服务器,性能远远超过我们所想象的。 squid 是一个缓存 internet 数据的一种服务,它接收用户的下载请求, 并主动处理下载的数据。换句话说,当一个用户要下载一个主页时,它向 squid 发出一个请求,要 squid 替它下载,而后 squid 连接所申请的网站并请 求该主页,紧接着把该主页传给用户,同时保存一个备份,当别的用户请求一 样的页面时,squid 把保留的备份立刻传给用户,使用户感觉速度相当快。 关键词: squid linux 代理 abstractabstract as a popular operating system, linux has increasingly attracted the attention of the world. despite the current linux includes software is not very rich, alternative windows as a general operating system of pc is still too early, but in the field of the server, the stability and operability of linux does not lose to any operating system, and also have good software support. squid is one of them. linux plus squid as the proxy server, performance is far more than we imagined. squid is a service that caches internet data, it receives the users download request, and automatically downloads the data. in other words, when a user wants to download a page, it issues a request to the squid, and ask squid for download it, then squid connected web site and requests the page, then pass the page to the user, at the same time, squid save a backup page, when other users request a same page, squid immediately pass the backup page to the user, makes user feels very fast. key words: squid linux agent 目 录 1 引言1 1.1 项目开发背景 1 1.2 项目设计的意义 1 1.3 linux简介2 1.4 代理服务器的作用及工作原理 2 1.5 squid代理服务器简介 .3 2 linux 下 squid 代理服务器的安装与配置 4 2.1 squid代理服务器的安装 .4 2.2 squid代理服务器的基本配置 .5 2.3 初始化 squid11 2.4 启动和停止 squid代理服务器 13 3 squid 代理服务器的高级配置 .15 3.1 普通代理的实现 .15 3.2 透明代理的实现 .19 3.3 反向代理的实现 .22 3.4 通过反向代理实现负载均衡 .25 总结.25 致 谢.27 参考文献.28 内蒙古农业大学学士学位论文 1 1 1 引言引言 1.11.1 项目开发背景项目开发背景 linux 是近几年一款别树一帜的操作系统。凭借公开的源代码、强大兴盛的网 络功能和大量的无偿资源受到业界的一致好评。在全球各地不计其数的程序员共 同的努力下逐渐完善该系统,其目的是让个人和企业享受到免费的不受商业化影 响的 unix 兼容产物。linux 为用户供应了十分完善的、不容忽视的网络功能。 linux 无偿提供了海量支持 internet 的软件,internet 是在 unix 领域中创建并 郁勃起来 。 由于互联网技术的不断发展和拓宽,谨慎选择个人和企业应用的操作系统逐 渐走入人们的视线。人们不停地追求把性能最优、安全性最优、价钱最廉价的操 作系统安装到自己的计算机上。因此,linux 成了流行的操作系统。 代理服务器的主要思想是:当做为客户端的人们想要向服务器访问资源时, 服务器为了优化客户的体验率将立即给客户端下发它需要的数据,但由于这些服 务器大部分都是远程服务器,数据传输也就需要花费比较长的时间,一旦请求此 数据的用户很多,就容易造成网络堵塞。在这种情况下,代理服务器的作用就突 显出来了,代理服务器一方面可以处理客户端的请求,另一方面也可以代理客户 端来响应服务器。 1.21.2 项目设计的意义项目设计的意义 随着人们正常生活水平的提升,互联网技术的不断发展,宽带进入了家家户 户,网络用户的数量急剧膨胀,因此访问的连接也在快速整长,ip 地址数量严 重缺乏,服务器的安全问题也不得不重视起来。这些问题都可以依靠架设代理服 务器来解决。用户通过架设的代理服务器来访问自己所需要的资源,可以有效的 解决 ip 地址缺乏的问题,当然通过代理服务器可以有效的在内部网络和外部网 络之间架构 iptables,就能解决网络安全问题。 1.31.3 linuxlinux简介简介 linux 是林纳斯托瓦兹在不满足 minix 系统的功能下,自己研制的一款 操作系统,当时他只是做为一款实验操作的系统,并有着随时中断此系统的思想, 完全没有想到 linux 会发展到今天这种广受欢迎的地步。不说其他功能,在我自 己学习这项系统的过程中,有一项功能深深的感到强大,就是逻辑卷。逻辑卷的 应用不在受限于硬盘的不足时不得不更换硬盘,而一旦更换硬盘,数据一定个会 受到影响,但逻辑卷就解决了这个问题,因为它有一个在线扩容的功能,单单因 为这项功能就吸引了大部分的企业。linu 的诞生是服务器界的福音。 基于 linux 的 squid 的代理服务器的架设2 1.41.4 代理服务器代理服务器的作用及工作原理的作用及工作原理 大家都知道本机在未设置的情况下不能直接访问国外的站点,而且网络速度也 很慢,通常我们访问网站都是直接与目的主机相连,如果存在代理服务器,我们 就可以先河代理服务器进行连接,然后代理服务器把我们的请求(比如说我们想 到得到哪个网页)进行回应,一是代理服务器在自身的 cache 上查找,二是代替 我们想上级请求数据,这样就能够提高访问速度了。同时代理服务器能够作为一 个隔离内网与外网的防火墙,而且能提供记录传输信息和监控网络的功效,强化 局域网的安全性等。它的主要作用有以下几点: (1)共享网络; (2)加快访问速度,节约通信带宽; (3)防止内部主机受到攻击; (4)限制用户访问,完善网络管理。 代理服务过程简单来说可以分为四步。第一步:用户发送的请求被代理服务器 接受到;第二步:代理服务服务器把用户的请求转发给真正的服务器;第三步: 真正的服务器对代理服务器做出响应;第四步:代理服务器把真正服务器做出的 响应返回给用户。下面我们把一个用户发送请求 web 数据的过程为例子深入了解 一下代理服务器工作的过程。如图 1.1 所示。 图 1.1 squid 代理服务器工作原理 当架设完代理服务器后,正常启动服务,这时服务会监听在配置文件中配置的 端口号,当用户向代理服务器发出访问 web 服务器资源的申请时,代理服务器就 会监听到这一信息,代理服务器就会创建一个子进程来响应用户的请求,而主进 程还是会继续监听改端口号。已经创建的子进程就会与用户进行连接,开始对用 户的请求进行分析,按照设置的规则,检测改请求是否符合该规则,如果符合, 就在代理服务器的 cache 中查询是否有用户所请求的信息,如果有就直接下发资 源。没有的话代理服务器刚才创建的子进程就会向真正的服务器发出请求,真正 的 web 服务器就会响应改子进程,代理服务器再将该响应返回给用户,并对资源 做保留。其他客户端的请求过程和上面一致。 1.51.5 squidsquid代理服务器代理服务器简介简介 squid 代理服务器是针对 web 的高性能代理缓冲服务器,它可以对用户的访问 进行加速。它可以在向上级申请一次数据后响应用户的请求并保留数据,当用户 再一次向他请求这个数据时,squid 代理服务器就不会向上级申请,直接从自己 内蒙古农业大学学士学位论文 3 的 cache 中提取返回给用户。 squid 代理服务器的一般工作模式如下: (1)当用户向 squid 代理服务器申请数据时,而 squid 没有用户所想要的资源 时,squid 便会先向友邻的 squid 服务器请求数据数据。如果友邻的 squid 服务 器也没有,就直接向上级请求数据; (2)squid 服务器向上级请求数据,然后等待上级响应请求。如果上级有数据, 则给出数据;如果没有数据,则上级到 internet 中查找; (3)如果用户请求的 squid 没有上一级时,squid 代理服务器自己到 internet 中查询; (4)如果这三者都找不到数据,则向客户端报告无法取到数据。 squid 代理服务器是开源的,响应用户的速度快,大大降低了 internet 的堵 塞率。squid 还可以在内网和外网之间建立一个防火墙,有效的提高了网络的安 全性。squid 代理服务器的种类有三种,分别是普通代理服务器、透明代理服务 器、反向代理服务器。 普通代理服务器可以将静态的网页缓存到自己的 cache,当缓存的网页被用 户访问的时候,浏览器可以直接从普通代理服务器的 cache 中获得请求的数据, 而不是向真正的服务器请求数据,这样就大大减少了 ip 地址,也减少了网络的 堵塞率,当然用户的访问速度也得到了提升。 透明代理搭建出来之后,用户访问的时候根本意识不到这是代理服务器,用 户会把代理服务当作他想访问的真正服务器。其实是防火墙作为内部网络和外部 网络通信的桥梁。在整个过程中,无论是用户还是真正的服务器都不知道他们其 实是在和防火墙就行的通信,这样就大大加强了网络的安全性。 反向代理大家可能听的比较少,但是 web 服务器加速器相信大家都听说,其 实 web 服务器加速器就是反向代理服务器。典型的结构如下图 1.2 所示。 图 1.2 反向代理服务器结构示意图 基于 linux 的 squid 的代理服务器的架设4 2 2 linuxlinux 下下 squidsquid 代理服务器的安装与配置代理服务器的安装与配置 2.12.1 squidsquid 代理服务器的安装代理服务器的安装 在 linux 的终端输入以下命令可查看: rpm qa | grep squid 命令执行结果如下图 2.1 所示。 图 2.1 squid 版本号 出现以上结果表示本机 squid 服务器已安装,它的版本是 3.1.10- 16.el6.x86_64。 如果系统未安装 squid,在 linux 的终端下输入以下命令进行安装: yum -y install squid 使用安装命令进行安装。squid 程序将安装在/user/sbin 目录中,其配置文 件 squid.conf 则安装在/etc/squid 目录下。 2.22.2 squidsquid代理服务器的基本配置代理服务器的基本配置 /etc/squid/squid.conf是squid代理服务器的主要配置文件。由于该文件内 容较多,不便于查看和编辑,可以将其复制出一个副本,然后清空源文件,其主 要配置内容如下: 内蒙古农业大学学士学位论文 5 (1)network options(网络设置选项) http_port 01:8080 #这一句是用于设置squid监听的ip地址和端口号,默认3128 icp_port 端口号 和其它squid发送和接收icp查询时监听的端口,0表示禁止 htcp_prot 端口号 同其它相邻的缓存服务器之间发送和接收htcp查询时监听的端口,0表示禁 用 tcp_outgoing_address ip地址 采用htcp和carp方式同其它服务器通信,默认ip地址为55 (2)多缓存服务器设置选项 cache_peer hostname type http_port icp_port options 指定网络中其它的缓存代理服务器,默认为none。 hostname:另一台缓存服务器的主机名 type: parent/sibling /multicast(父/同级/多播) http_port:目的服务器的http端口 icp_port:目的服务器的icp端口 options: - proxy-only:仅去获取数据,但不在本地缓存 - default:默认的父服务器 dead_peer_timeout n seconds 设置squid在确定父(同)级缓存服务器不可用之前的等待队列时间 (3)缓存大小设置选项 cache_swap_low(percent,0-100) 缓存对象交换的最低点 cache_swap_high(percent,0-100) 缓存对象交换的最高点 基于 linux 的 squid 的代理服务器的架设6 maximum_object_size 缓存对象的最大大小 minimum_object_size 缓存对象的最小大小 maximum_object_size_in_memory 在内存中缓存的最大的对象大小 ipcache_size 4096: fqdncache_size 4096 (4)日志文件路径及cache的目录设置选项 lru:默认,最近最少使用算法 heap lru:堆lru cache_dir 类型 路径 大小(m) 一级子目录 二级子目录 系统使用的存储类型 cache_access_log /var/log/squid/access.log access.log日志文件路径 cache_log /var/log/squid/cache.log 缓存日志文件的目录和文件 emulate_httpd_log on/off 激活仿真http格式的日志 mime_table /etc/squid/mime.conf mime文件路径 pid_filename /var/ran/squid.pid 指定pid文件和路径 ftp_user 用户名域名 指定匿名ftp密码 ftp_list_width 数字 指定ftp列表的文件名长度 ftp_passive on/off 以被动模式(on)/主动模式(off) 内蒙古农业大学学士学位论文 7 dns_children 数字 指定本地默认启动dns查询进程数 dns_nameservers ip地址 dns服务器地址 diskd_program /usr/lib/squid/diskd 磁盘管理程序 unlinkd_program usr/lib/squid/unlinkd 删除文件程序 pinger_program /usr/lib/squid/ ping程序 编译时指定:-enable-icmp option redirect_program none url重点向程序 redirect_children 数字 重点向进程数 auth_param 类型 program/children/credentialsttl/realm 值 用户认证配置选项 (5)调整cache的选项 request_header_max_size 数字(kb) 最大http请求头 request_body_max_size 数字(kb) 最大http请求数据内容 reply_body_max_size 数字(kb) 最大返回数据,可以用来限制用户下载的数据大小,避免一个用户长时间占 用 reference_age 数字 lru算法中指定lru时间 quick_abort_min 数字(kb) 断点续传最小值 基于 linux 的 squid 的代理服务器的架设8 quick_abort_max 数字(kb) 断点续传最大值 quick_abort_pct 数字(percent) 超过值认为续传成功 negative_ttl 数字 minutes/hours/seconds 否定回答ttl positive_dns_ttl 数字 minutes/hours/seconds dns肯定回答ttl range_offset_limit 数字 kb/mb/bytes 请求squid预取数据的大小 (6)定义超时的选项 connect_timeout:squid等待客户请求的服务器回应的时间长度 peer_connect_timeout:一个对等的缓存服务器的tcp连接超时时间 client_lifetime:客户端同代理服务器tcp连接的最大时间长度 read_timeout:读入数据超时 request_timeout:客户端请求最大时间 shutdown_lifetime:关闭squid缓存时间 (7)定义访问控制的选项 acl:定义一个访问列表 格式:acl aclname acltype string 类型:(acltype) src:源地址 dst:目标地址 srcdomain:原(客户)名称 dstdomain:目标名称 time:时间(m星期一、t星期二、w星期三、h星期四、f星期五、a星期六、s 星期天) url_regex-i:url中的正则表达式匹配 urlpath_regex-i:略去协议和主机名的正则表达式 内蒙古农业大学学士学位论文 9 proxy_auth:通过外部程序进行用户验证 maxconn:单ip最大连接数 port:端口 myip:本地ip srcdom_regex -i:匹配客户名 dstdom_regex -i:匹配目标名 myport:我的端口 proto:协议,http,ftp method:方法, get post browser:匹配user-agent header arp:匹配指定的mac地址 proxy_auth username:指定合法用户,用required表示所有合法用户 http_access:代理访问控制 格式:http_access allow|deny ! acl_name icp_access:icp访问控制 格式:icp_access allow|deny !acl_name cache_peer_access:其它缓存服务器访问控制 格式:cache_peer_access cache_host allow|deny !acl_name (8)管理员参数选 cache_mgr mail地址:管理员电子邮件 cache_effective_user 用户名:运行身份 cache_effective_group 组名:运行组身份 (9) httpd加速选项 httpd_accel_host 主机名/vitual:加速某服务器访问 httpd_accel_port 端口号:加速服务器的对方端口 httpd_accel_single_host on/off:多台服务器时设置off httpd_accel_with_proxy on/off:即作为加速器,又作为web缓存服务器, 设置为on httpd_accel_uses_host_header on/off:为on,能支持不同的http协议 基于 linux 的 squid 的代理服务器的架设10 (11)杂项 logfile_rotate 0-9:日志轮换版本数 append_domain 域名:默认域名 tcp_recv_bufsize 数字(kb):tcp缓存区大小 err_html_text 字符串:包含在错误消息中的文本 deny_info:禁用时显示消息 格式:deny_info err_page_name acl visible_hostname 主机名 错误消息中显示的服务器名称 error_directory 路径:指定错误消息文件目录 2.32.3 初始化初始化squidsquid (1)初始化硬盘cache目录 我们先将squid安装好之后,配置其配置文件,为了使squid能够缓冲硬盘中 的访问目标服务器的内容,在第一次运行squid之前,或者我们在配置文件中修 改了cache_dir设置后,我们都必须初始化硬盘cache目录。命令格式如下: rootlocalhost root# /usr/local/squid/sbin/squid -z 初始化cache目录工作需要花费一些时间,这就取决了磁盘驱动器的速度和 cache目录的数量和大小。 (2)测试squid 当cache目录初始化后,可以重新启动squid服务了,将日志记录重定向到标 准错误。这样,我们就能轻易地定位任何错误或问题的位置,并且确认squid是 否成功启动。使用-n选项来保持squid在前台始终运行,-d1选项在标准错误里显 示1级别的调试信息。 rootlocalhost root# /usr/local/squid/sbin/squid -n -d1 命令执行完后,查看目录/var/spool/squid的内容时,可以看到squid已经 根据配置文件的定义建立了目录结构,如图2.2所示。 内蒙古农业大学学士学位论文 11 图 2.2 硬盘缓冲区的目录结构 2.42.4 启动和停止启动和停止squidsquid代理服务器代理服务器 (1)启动代理服务器 在通常情况下,我们将squid以后台进程的方式运行(不出现在终端窗口里) 。最容易的方法是执行如下命令: rootlocalhost root# /etc/init.d/squid start 命令执行后出现starting squid绿色ok提示,表示启动服务成功。 (2)停止代理服务器 我们可以使用命令 squid -k interrupt,立即关闭squid代理服务器,不用 等待活动完成。命令如下: rootlocalhost root# /etc/init.d/squid stop 命令执行后出现stopping squid绿色ok提示,表示停止代理服务成功。 当然停止squid代理服务器不止这一种方法。还有就是最安全地停止squid代 理服务器的命令:squid -k shutdown以及运用kill+进程号的命令强制停止代理 服务器的方法。 (3)重新启动代理服务器 重新启动命令 基于 linux 的 squid 的代理服务器的架设12 rootlocalhost root# /etc/init.d/squid restart 命令执行后出现以下,则表示重新启动代理服务成果,如图2.3 图2.3 重新启动squid服务 (4)自动启动代理服务器 当我们想在系统启动而自动启动代理服务器的时候,可以在终端执行 “ntsysv”命令启动永久服务配置程序,找到“squid”服务,在其前面按空格 变成星号,然后选择“确定”,如图2.3所示。 图 2.4 自动启动代理服务配置 内蒙古农业大学学士学位论文 13 3 3 squidsquid 代理服务器的高级配置代理服务器的高级配置 3.13.1 普通代理的普通代理的实现实现 普通代理代理服务是标准的、传统的代理服务器。客户机需要在浏览器中设 定代理服务器的地址、端口。 client: 1 server: 2 web: 3 (1)配置 server 端 rootnode2 # yum install squid 安装 squid rootlocalhost # vim /etc/squid/squid.conf 修改配置文件 . . . acl localnet src /8 # rfc1918 possible internal network acl localnet src /12 # rfc1918 possible internal network acl localnet src /16 # rfc1918 possible internal network acl localnet src fc00:/7 # rfc 4193 local private network range acl localnet src fe80:/10 # rfc 4291 link-local (directly plugged) machines acl test src /24 标明地址 . . . # only allow cachemgr access from localhost http_access allow test http_access allow manager localhost http_access deny manager . . . # squid normally listens to port 3128 http_port 8080 标明端口 . . . 配置文件配置完成后,重新启动服务。 rootnode2 # service squid restart stopping squid: ok starting squid: . ok (2)在客户端 设置 打开火狐浏览器 rootnode1 # firefox & 1 5591 点击 edit ,选择 preferences,再选择 advanced 然后点击 network 基于 linux 的 squid 的代理服务器的架设14 出现以下界面,图 3.1 图 3.1 设置浏览器(1) 选择 setting,进行如下设置,设置代理服务器即 server 的 ip 地址和在配 置文件中设置的端口号,如图 3.2。 内蒙古农业大学学士学位论文 15 图 3.2 设置浏览器(2) (3)设置 web 端 在 web 端建立一个简单的网页,以便观察现象 在 web 终端输入如下命令,建立简单网页: echo “我是高新宾” /var/www/html/index.html (4)在客户端观察现象 在客户端 client 上打开火狐浏览器,访问 web,可得 web 上的简单网页,如图 3.3 rootnode1 # firefox & 1 5591 基于 linux 的 squid 的代理服务器的架设16 图 3.3 测试结果 分别查看客户端、server 代理服务器、web 的数据包交流方向。 client: 图 3.4 client 端数据包走向 server:: 内蒙古农业大学学士学位论文 17 图 3.5 server 端数据包走向 web: 图 3.6 web 端数据包走向 根据数据包走向,得出 client 是和 server 进行数据包交流的,因此 server 代 理服务器正式实现。 基于 linux 的 squid 的代理服务器的架设18 3.23.2 透明代理的实现透明代理的实现 透明代理就是客户机不需要在浏览器上设置代理配置的情况下通过 squid 代理服务器上网,透明代理搭建出来之后,用户访问的时候根本意识不到这是代 理服务器,用户会把代理服务当作他想访问的真正服务器。其实是防火墙作为内 部网络和外部网络通信的桥梁。在整个过程中,无论是用户还是真正的服务器都 不知道他们其实是在和防火墙就行的通信,这样就大大加强了网络的安全性。 简单示意图: client-squid(+route)-apache 1 2 (1)配置 squid rootnode2 # vim /etc/squid/squid.conf 修改配置文件 . . . # squid normally listens to port 3128 http_port 8080 transparent . . . rootnode2 # service squid restart 重启服务 stopping squid: ok starting squid: . ok rootnode2 # echo 1 /proc/sys/net/ipv4/ip_forward 在 squid 上开转 发 (2)配置 iptables 端口重定向是 iptables 在此所起的主要作用,执行下面的命令将所有进入 eth0 网络接口的 80 端口的 web 服务的申请转发到 8080 端口,交由 squid 代理处理, 命令如下: rootnode2 # iptables -t nat -a prerouting -s /24 -i eth0 -p tcp -dport 80 -j redirect -to-port 8080 (3)配置 client 在 client 上需要添加一条寻路 rootnode1 # ip route add default via 2 (4)在 web 上建一个简单网页,如图 3.7 内蒙古农业大学学士学位论文 19 图 3.7 简单网页建立 (4)观察现象 rootnode1 # elinks -dump 图 3.8 测试透明代理 及 web 的数据包走向,如图 3.9。 基于 linux 的 squid 的代理服务器的架设20 图 3.9 透明代理 web 端数据包走向 用client访问web,可以看到web的数据包走向是和squid进行的,透明代理 至此实现。 3.33.3 反向代理的实现反向代理的实现 反向代理(reverse proxy)是指以代理服务器来接受 internet 上的连接请求, 然后将请求转发给内部网络上的服务器,并将从服务器上得到的数据转给 internet 上请求连接的客户端,此时代理服务器对客户端来说就是一个服务器。 简单示意图: web server- squid(+route) -client 12 前提环境搭建 在三台机子上设置反响代理需要的域名解析 vim /etc/hosts 1 1 (2)web server 的配置 内蒙古农业大学学士学位论文 21 配置 apache 的配置文件 rootnode1 # vim /etc/httpd/conf/httpd.conf . . . namevirtualhost 1:80 documentroot /var/www/www1/ servername documentroot /var/www/www2/ servername 建立所需要的目录 rootnode1 # mkdir /var/www/www1 rootnode1 # mkdir /var/www/www2 建立简单测试网页 rootnode1 # echo “this is a squid 反向 test from “ /var/www/www1/index.html rootnode1 # echo “this is a squid 反向 test from “ /var/www/www2/index.html 重启 apache 服务 rootnode1 # service httpd restart stopping httpd: ok starting httpd: ok (3)配置 squid 编辑 squid 配置文件 vim /etc/squid/squid.conf acl out src /24 http_access allow out . . . # squid normally listens to port 3128 http_port :80 vhost cache_peer 1 parent 80 0 originserver name=www1 cache_peer 1 parent 80 0 originserver name=www2 cache_peer_domain www1 cache_peer_domain www2 . . . cache_peer 指定 web 服务器地址 cache_peer_domain 指定真正 web 服务器的位置 parent 缓存级别,上游 web 主机一般使用“parent”(父服务器) originserver 提供 w eb 服务的原始主机。 重启 squid 服务 基于 linux 的 squid 的代理服务器的架设22 rootnode1 # service squid restart stopping squid: ok starting squid: . ok (4)在客户端观察 rootnode3 # elinks -dump this is a squid 反向 test from rootnode3 # elinks -dump this is a squid 反向 test from 图 3.10 反向代理测试图 反向代理就这样实现的。然后我们看一下数据包的走向。 web: 内蒙古农业大学学士学位论文 23 图 3.11 反向代理 web 端数据包走向 web 的数据交流是和 squid 代理服务器进行的。 client: 基于 linux 的 squid 的代理服务器的架设24 图 3.12 反向代理客户端数据包走向 客户端的数据交流是和 squid 交流的,所以客户端一直认为 squid 服务器就是它 要访问的 web。反向代理到此实现。 3.43.4 通过反向代理实现负载均衡通过反向代理实现负载均衡 (1)简单示意图: /- web1 client- squid(+route) - 1 2 - web2 (3)配置 squid 端 rootnode2 squid# vim /etc/squid/squid.conf acl test src /24 http_access allow test 内蒙古农业大学学士学位论文 25 http_po

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论