今天老刘讲了如同天书一般的隐藏章节,第23章使用OpenLDAP部署目录服务,难度太高了。第16章使用Squid部署代理缓存服务

章节概述:

本章首先介绍代理服务的原理以及作用,然后介绍Squid服务程序正向解析和反向解析的理论以及配置方法。其中,正向代理模式不仅可以让用户使用Squid代理服务器上网,还可以基于指定的IP地址、域名关键词、网站地址或下载文件后缀等信息,实现类似于访问控制列表的功能。反向代理模式可以大幅提升网站的访问速度,还可以帮助网站服务器减轻负载压力。

在掌握了Squid服务程序的标准正向代理模式、透明正向代理模式、访问控制列表功能以及反向代理等实用功能之后,读者不但可以进一步理解代理服务,提升服务控制能力,而且在步入运维岗位后能够游刃有余地处理相关问题。

16.1 代理缓存服务

Squid是Linux系统中最为流行的一款高性能代理服务软件,通常用作Web网站的前置缓存服务,能够代替用户向网站服务器请求页面数据并进行缓存。简单来说,Squid服务程序会按照收到的用户请求向网站源服务器请求页面、图片等所需的数据,并将服务器返回的数据存储在运行Squid服务程序的服务器上。当有用户再请求相同的数据时,则可以直接将存储服务器本地的数据交付给用户,这样不仅减少了用户的等待时间,还缓解了网站服务器的负载压力。

Squid服务程序具有配置简单、效率高、功能丰富等特点,它能支持HTTP、FTP、SSL等多种协议的数据缓存,可以基于访问控制列表(ACL)和访问权限列表(ARL)执行内容过滤与权限管理功能,还可以基于多种条件禁止用户访问存在威胁或不适宜的网站资源,因此可以保护企业内网的安全,提升用户的网络体验,帮助节省网络带宽。

由于缓存代理服务不但会消耗服务器较多的CPU计算性能、内存以及硬盘等硬件资源,同时还需要较大的网络带宽来保障数据的传输效率,由此会造成较大的网络带宽开销。因此国内很多IDC或CDN服务提供商会将缓存代理节点服务器放置在二三线城市以降低运营成本。

在使用Squid服务程序为用户提供缓存代理服务时,具有正向代理模式和反向代理模式之分。

16.2 配置Squid服务程序

Squid服务程序的配置步骤虽然十分简单,但依然需要为大家交代一下实验所需的设备以及相应的设置。首先需要准备两台虚拟机,一台用作Squid服务器,另外一台用作Squid客户端,后者无论是Windows系统还是Linux系统皆可(本实验中使用的是Windows 7操作系统)。

16.3 正向代理
16.3.1 标准正向代理

Squid服务程序软件包在正确安装并启动后,默认就已经可以为用户提供标准正向代理模式服务了,而不再需要单独修改配置文件或者进行其他操作。

16.3.2 ACL访问控制

在日常工作中,企业员工一般是通过公司内部的网关服务器来访问互联网,当将Squid服务程序部署为公司网络的网关服务器后,Squid服务程序的访问控制列表(ACL)功能将发挥它的用武之地。它可以根据指定的策略条件来缓存数据或限制用户的访问。比如很多公司会分时段地禁止员工逛淘宝、打网页游戏,这些禁止行为都可以通过Squid服务程序的ACL功能来实现。大家如果日后在人员流动较大的公司中从事运维工作,可以牢记本节内容,在公司网关服务器上部署的Squid服务程序中添加某些策略条件,禁止员工访问某些招聘网站或竞争对手的网站,没准还能有效降低员工的流失率。

Squid服务程序的ACL是由多个策略规则组成的,它可以根据指定的策略规则来允许或限制访问请求,而且策略规则的匹配顺序与防火墙策略规则一样都是由上至下;在一旦形成匹配之后,则立即执行相应操作并结束匹配过程。为了避免ACL将所有流量全部禁止或全部放行,起不到预期的访问控制效果,运维人员通常会在ACL的最下面写上deny all或者allow all语句,以避免安全隐患。

老刘做了四个实验,都是杠杠的。

16.4 反向代理

网站页面是由静态资源和动态资源一起组成的,其中静态资源包括网站架构CSS文件、大量的图片、视频等数据,这些数据相对于动态资源来说更加稳定,一般不会经常发生改变。但是,随着建站技术的更新换代,外加人们不断提升的审美能力,这些静态资源占据的网站空间越来越多。如果能够把这些静态资源从网站页面中抽离出去,然后在全国各地部署静态资源的缓存节点,这样不仅可以提升用户访问网站的速度,而且网站源服务器也会因为这些缓存节点的存在而降低负载。

反向代理是Squid服务程序的一种重要模式,其原理是把一部分原本向网站源服务器发起的用户请求交给Squid服务器缓存节点来处理。但是这种技术的弊端也很明显,如果有心怀不轨之徒将自己的域名和服务器反向代理到某个知名的网站上面,从理论上来讲,当用户访问到这个域名时,也会看到与那个知名网站一样的内容(有些诈骗网站就是这样骗取用户信任的)。因此,当前许多网站都默认禁止了反向代理功能。开启了CDN(内容分发网络)服务的网站也可以避免这种窃取行为。

12.15linux学习第十八天的更多相关文章

  1. 12个学习 CSS3 网站布局设计的优秀案例

    网络上有很多的 CSS 画廊站点供大家对各类网站作品进行打分和评论,每天有数以百计的优秀网站被推荐上面,这对于网页设计师来说是很好的灵感来源.今天,我们选择了15赢得 CSS 设计大奖的优秀作品,帮助 ...

  2. 201521123082 《Java程序设计》第12周学习总结

    201521123082 <Java程序设计>第12周学习总结 标签(空格分隔): java 1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结多流与文件相关内容. An ...

  3. 201521123067 《Java程序设计》第12周学习总结

    201521123067 <Java程序设计>第12周学习总结 1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结多流与文件相关内容. 2. 书面作业 将Student对 ...

  4. 2018面向对象程序设计(Java)第12周学习指导及要求

    2018面向对象程序设计(Java)第12周学习指导及要求 (2018.11.15-2018.11.18)   学习目标 (1) 掌握Java GUI中框架创建及属性设置中常用类的API: (2) 掌 ...

  5. 201621123080《Java程序设计》第12周学习总结

    201621123080<Java程序设计>第12周学习总结 1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结多流与文件相关内容. 2. 面向系统综合设计-图书馆管理系 ...

  6. 面向对象程序设计(JAVA) 第12周学习指导及要求

    2019面向对象程序设计(Java)第12周学习指导及要求 (2019.11.15-2019.11.18)   学习目标 (1) 掌握Vetor.Stack.Hashtable三个类的用途及常用API ...

  7. 2017.3.12 H5学习的第一周

    本周我开始了H5的学习,在这一周里我们从html的基本标签开始一直讲到了才算css的用法,接下来我将记录下来本周我学到的H5的内容. 首先是声明文档,声明文档类型是HTML5文件,它在HTML文档必不 ...

  8. 201521123091 《Java程序设计》第12周学习总结

    Java 第十一周总结 第十一周的作业. 目录 1.本章学习总结 2.Java Q&A 3.码云上代码提交记录及PTA实验总结 4.课后阅读 1.本章学习总结 1.1 以你喜欢的方式(思维导图 ...

  9. 201521123107 《Java程序设计》第12周学习总结

    第12周-流与文件 1.本周学习总结 2.书面作业 将Student对象(属性:int id, String name,int age,double grade)写入文件student.data.从文 ...

  10. 201521123076《java程序设计》第12周学习总结

    1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结多流与文件相关内容. 2. 书面作业 将Student对象(属性:int id, String name,int age,doubl ...

随机推荐

  1. 【python基础教程】-10.开箱即用(模块的工作原理,获悉模块的功能以及常用模块)

    资料来源 (1) Python基础教程第三版 1.模块的工作原理 1.1 简单的模块及使用 1.1.1 模块的本质 (1) 模块就是程序,任何python程序都可以作为模块导入; 1.1.2 简单的模 ...

  2. 清空buff/cache

    https://blog.csdn.net/qq_34246965/article/details/109258656 1)清理pagecache(页面缓存)echo 1 > /proc/sys ...

  3. nginx: the "ssl" parameter requires ngx_http_ssl_module in /usr/local/nginx/conf/nginx.conf

    Nginx如果未开启SSL模块,配置Https时将提示如题错误 原因:nginx缺少http_ssl_module模块,编译安装的时候带上--with-http_ssl_module配置就行了,但是现 ...

  4. idea因时区连不上msyql8问题

    转载自https://www.cnblogs.com/lakei/p/11303174.html Connection to api@localhost failed. [08001] Could n ...

  5. sap IUT240 Contract Accounts Receivable and Payable pdf

    sap IUT240 Contract Accounts Receivable and Payable  pdf sap IUT240 Contract Accounts Receivable and ...

  6. golang_nethttp

    package main import ( "encoding/json" "fmt" "log" "net/http" ...

  7. dendrogram

    https://ww2.mathworks.cn/help/stats/dendrogram.html

  8. 很抱歉,无法安装Office(64位),因为您的计算机上已经安装了这些32位Office程序

    可使用下面的方法获取最新最全的Win10 KEY: 1.请加微信公众号号:jiangivana 或扫一扫下面的二维码. 2.加微信公众号以后回复[key]将获得最新最全的Win10密钥. 64位与32 ...

  9. 将\u8BF7字符串转换为汉字

    转发自  将\u8BF7\u9009\u62E9 字符串转为汉字的代码_javascript技巧_脚本之家 链接:https://www.jb51.net/article/25187.htm

  10. nginx配置透明代理

    来自:https://blog.csdn.net/weixin_34072458/article/details/91677177 user nginx; worker_processes auto; ...