linux初学者-squid代理篇
Squid代理服务器是一种缓存服务器,一般分为正向代理和反向代理。
1、正向代理
客户端因为网络或者其他的问题,不能访问到一台Apache服务器,如果要访问到,则需要通过一台中间的代理服务器,这就是Squid的正向代理。
Squid代理服务器可以访问到这个Apache服务器,并且缓存访问到的内容,再将缓存的内容给客户端看。
为了演示需要,本文中主机"double"有两个网卡,一个IP为"172.25.254.202",一个IP为"172.25.2.202"。主机"single"的IP为"172.25.2.102"。Apache服务器为"172.25.254.2"。"double"可以访问到Apache,且可以连接到"single"。"single"只能连接到"double",不能访问到Apache。
本文中的Squid代理服务器为"double",以使用"yum install squid -y"装好Squid服务,为了方便,直接关闭防火墙。
正向代理服务器的配置如下:
在Squid服务器端配置。编辑Squid的配置文件"/etc/squid/squid.conf",将第56行的"deny"改为"allow"。将第62行的注释去掉。完成后重启服务。
在客户端配置。在客户端打开浏览器"firefox",点击左上角的"Edit"下的"Perferences",点击最后的"Advanced"下的"Network",在"Connetion"后点击"Settings"。按照下图输入IP和端口号,IP是Squid服务器中和自己一个网段的IP,端口号是3128。
完成上述配置后,在"single"客户端的浏览器中重新输入"172.25.254.2",就可以看到这个网页了。
正向代理客户端访问的是Squid服务器的缓存,适用于客户端不能直接访问目标主页,需要一个中间服务器Squid。
2、反向代理
反向代理是客户端访问的目标是Squid服务器,Squid服务器通过访问有Apache的主机并缓存其网页内容,再反馈给客户端,客户端看到的依旧是Squid服务器的缓存,但是与正向代理不同的是,反向代理中客户端并不知道有Apache主机的存在,而直接访问Squid服务器,而且客户端不需要自己进行设置。反向代理通常用于Apache的访问加速和减小Apache主机的访问压力。
反向代理服务器的配置如下:
在Squid服务器端配置。编辑配置文件"/etc/squid/squid.conf",将第59行的"3128"改为"80",并在后面加上"vhost vport",在第58行添加"cache_peer 172.25.254.2 parent 80 0 proxy-only"。完成后重启"squid"服务。
反向代理不需要在客户端进行配置。
需要注意的是Squid服务器上并没有Apache。
完成上述配置后,在客户端的浏览器中,直接输入要访问的Squid服务器"172.25.2.202",则可以看到Apache主机"172.25.254.2"的主页。
上述就是Squid代理服务器中常用的正向和反向代理,这种代理服务器在网络中很普遍。
linux初学者-squid代理篇的更多相关文章
- linux初学者-系统启动故障篇
linux初学者-系统启动故障篇 在系统的操作中,有时会不小心误删或者操作失误使得系统启动不起来,下文将列举几种常见的系统启动失败的情况及解决的办法. 1.删除或者覆盖mbr的446个字节 mbr的4 ...
- linux初学者-数据库管理MariaDB篇
linux初学者-数据库管理MariaDB篇 MariaDB是一种数据库管理系统,是MySQL的一个分支,但是比MySQL更加优秀,可以说是MySQL的替代品.MariaDB使用的是SQL语句.下文将 ...
- linux初学者-网络桥接篇
linux初学者-网络桥接篇 在网络的使用中,有时需要搭建网络桥来实现网络桥接.例如在一台主机上制作一台虚拟机,虚拟机是没有物理网卡的,这时虚拟机数据的发送和接收就需要通过主机上的物理网卡,需要主机的 ...
- linux初学者-DDNS配置篇
linux初学者-DDNS配置篇 如果DNS服务器要记录多台主机的IP,且这些主机的IP都是通过DHCPD服务自动获取的,那么将会造成很大的困难,因为在DNS设置时无法得知主机具体的IP.如果DHCP ...
- linux初学者-DNS配置篇
linux初学者-DNS配置篇 DNS在之前的网络管理篇已经做过介绍,下文将叙述DNS在学习工作中的一些配置以及应用. 1.高速缓存DNS 一台主机通过DNS服务器询问域名解析IP是需要一定的时间的, ...
- linux初学者-磁盘加密篇
linux初学者-磁盘加密篇 因为保密需要,一般系统中会在文件和磁盘中进行加密,但是文件的加密比较容易破解,不安全.所以在特殊需要下,会对磁盘进行加密,磁盘加密后在磁盘损坏的同时,其中的数据也会损坏, ...
- linux初学者-磁盘配额篇
linux初学者-磁盘配额篇 在使用磁盘时,只要有权限,不管什么用户都可以在其中写入数据,但是如果是多人在一个磁盘中写入数据,就会出现争议,如果一个用户将磁盘空间用完,那么其他人无法再使用.如下图所示 ...
- linux初学者-swap分区篇
linux初学者-swap分区篇 swap是虚拟内存,是在硬盘中分区一块区域,当内存占满但是又急迫需要时临时当作内存使用,使用效率低于内存.本文将对linux系统中swap分区的建立做一个简要介绍. ...
- linux初学者-虚拟机联网篇
linux初学者-虚拟机联网篇 在虚拟机的使用过程中,本机可以连接WIFI直接上网,但是有时候需要用到虚拟机的联网,那么在本机联网的情况下,虚拟机怎么联网呢?接下来将介绍如何在本机已经连接到WIFI的 ...
随机推荐
- C++ Builder 控件的卸载
控件卸载: 1.选择 BCB 菜单 File→Close All (关闭所有文件) 选择BCB 菜单: Project→Options→Packages 在 ...
- Linux实现彩色提示符
更改用户目录下的.bashrc 加入: export PS1='\[\e[33m\][\u@\h:\W]\$ \[\e[m\]' 例如: # .bashrc # User specific alias ...
- 一个基于jQuery写的弹窗效果(附源码)
最近项目中频繁遇到需要弹出窗口的功能,一直使用浏览器默认的Alert和Confirm弹窗,感觉视觉效果不是那么好,而从网上下载的话又找不到合适的,找到的话有些也是十分臃肿,有时候感觉学习配置的功夫自己 ...
- 可以用变量指定大小的Bits对象实现
c++的容器中有位对象bitset,但是个人认为最大的问题是定义是必须指定常数大小,比如 bitset<3> bit; 无法实现 int n = 3; bitset<n> bi ...
- vuejs 使用less
当所有东西都 准备好之后 : 第一步: 安装less依赖, npm install less less-loader --save 第二步: 修改webpack.config.js文件,配置loade ...
- 浅入深出Vue:数据绑定
上一篇我们使用了简单的数据渲染,那么如果说我们想要动态渲染标签的 class 可以这么操作么? 为什么绑定 简单的数据渲染,包括表达式.函数在内.其实都只是在标签中渲染,如果遇到以下情况怎么办呢: 需 ...
- HBase 学习之路(六)——HBase Java API 的基本使用
一.简述 截至到目前(2019.04),HBase 有两个主要的版本,分别是1.x 和 2.x ,两个版本的Java API有所不同,1.x 中某些方法在2.x中被标识为@deprecated过时.所 ...
- 安装R和Rstudio后,Rstudio出现空白和fatal error问题
解决方法: 1.一定要以管理员方式启动Rstudio 2.只能安装一个R版本,之前安装的其他版本需要卸载干净 3.R和Rstudio需要安装在同一目录下
- python基本数据类型之数字类型和其相关运算
数字(number) Python3 支持 int.float.bool.complex(复数). 在Python 3里,只有一种整数类型 int,表示为长整型,没有 python2 中的 Long. ...
- 给定一个整数数组和一个目标值,找出数组中和为目标值的两个数 例如给定nums = [2,7,11,15],target = 9
python解决方案 nums = [1,2,3,4,5,6] #假如这是给定的数组 target = 9 #假如这是给定的目标值 num_list = [] #用来装结果的容器 def run(nu ...