一、代理服务器应用场景分析

  想当年大学时候宿舍控制网速,苦了我们这帮魔兽党,一到晚上工会活动我们就得和全校上万名学生抢网速,作为坦克的我总是因为网速问题导致团灭,咱也是有自尊的人,一怒之下花300元办了个游戏加速器,果然顺畅了不少,宿舍朋友看我办代理,他们也买,总之第一次接触代理就是在大学时代,如今做技术了才开始深入探究这东西了,那么我们企业应用的代理不简简单单是加快网速的作用,还有很多功能,等我慢慢给你们说……

  代理服务器可以代替客户端向网站发出数据的请求,然后它会做一个缓存将得到的静态数据保存在代理服务器的缓存,缓存在它本地里面,等下一次有用户去进行请求的时候,代理服务器就会把这些数据直接交还给客户端,加快访问速度,企业要求的提升网速目的就实现了,常用的代理服务器软件有Squid、Nginx

  我们知道iptables 防火墙可以对局域网起到良好的保护作用,并提供了SNAT和DNAT地址转换策略,为共享接入互联网提供了方便,但是iptables不容易实现企业对员工的上网访问实施非法站点屏蔽,限制文件下载等管理和提升企业上网速度;我们知道它是包过滤型防火墙,工作在网络层和传输层,而代理服务器呐属于工作在应用层,相当于一个应用层的防火墙。

  Squid里面有ACL访问控制列表,可以自行定义哪些企业人员可以在什么时间段上网等功能,以及可以达到上网访问的数据的类别,比如我们只允许某些员工上网查资料,而不允许登录qq等操作,都可以通过Squid来精确的控制。但是有些应用程序不允许使用代理,这也算是它的一个弊端把,另外注意代理服务器不是一个网关服务器,不需要开路由转发功能,因此安全性要比iptabls好

二、代理的分类

  根据实际应用方式分类:传统代理、透明代理;下面还会介绍一种反向代理,我们可以简单地这样理解,普通代理是内网访问外网时配置的,反向代理就是外网需要访问我们局域网服务器配置的

  传统代理多用于Internet环境,比如说,为我们qq程序使用代理,可以隐藏本机真实的IP,为下载工具使用代理,可以避免我们服务器并发连接的限制,透明代理呐,多用于局域网环境,比如说咱们Linux网关中,启用透明代理,局域网主机就不用进行设置了,适合内部员工上网

1、传统代理

  普通的代理服务,须在客户机的浏览器、QQ聊天工具、下载软件等程序中手动设置代理服务器的地址和端口、由代理服务器代替客户机去请求数据

  例如访问某些国外网站,可以通过一台Internet上的代理服务器

2、透明代理

  客户机不需要指定代理服务器的地址和端口,而是通过默认路由、防火墙策略将Web访问重定向给代理服务器处理

3、反向代理

  接受因特网的连接请求,并将请求转发给内网的服务器,获得数据后返回给因特网的客户端,类似于用iptables的DNAT策略发布服务器

三、代理的工作机制

  当我们客户机对网站进行访问请求时,代理服务器首先会查看自己的缓存里有没有客户机要访问的静态数据,同时访问网站,比对静态数据的一致性,如有不同,则更新静态数据,随网站提供的动态数据一起,把动静态数据一起交给客户机。

  以上过程我再拿一个例子解释一下,我们大家都在火车票代购点买过票吧,当我们需要买票时,我们先到达代购点,OK,这时就可以说我们(客户机)与代购点(代理服务器)联通了,另外,代购点的电脑(代理服务器)也肯定要与火车站售票网站(www.163.com)联通吧,Ok,我们发出买票请求,北京到南京的T888次列车,代购点肯定要查一下电脑,看一看此时我要买的火车票在此时还有没有吧,这就相当于代理服务器首先会查看自己的缓存里有没有客户机要访问的静态数据这一步,查完电脑,证明还有的话直接打印此次列车,就相当于把数据还给我们,如果查完没有票了,就会同步其他能到南京的列车,打印别的车次的火车票给我们,好了,这就是它整个的工作机制。

四、Squid安装与初始化

 ~]#tar zxvf squid-3.4.6.tar.gz -C /usr/src/
~]#cd /usr/src/squid-3.4.6/
~]#./configure --prefix=/usr/local/squid --sysconfdir=/etc/ --enable-arp-acl --enable-linux-netfilter --enable-linux-tproxy --enable-async-io=100 --enable-err-language="Simplify_Chinese" --enable-underscore --enable-poll --enable-gnuregex
~]#make && make install
~]#ln -s /usr/local/squid/sbin/squid /usr/local/sbin/
~]#useradd -M -s /sbin/nologin squid (这个用户主要用来设置初始化缓存目录的)
~]#chown -R squid:squid /usr/local/squid/var
~]#vim /etc/squid.conf
其中可见
http_port 3128(监听端口为3128,另外通过icp_port项也能配置监听端口)
添加运行用户和组还有提示用配置项
cache_effective_user squid
cache_effective_group squid
visible_hostname 192.168.1.1(当squid出现问题时,可提示192.168.1.1)
~]#squid -k parse (检查配置文件)
~]#squid -z (初始化目录,清除缓存)
~]#squid (运行服务)
~]#netstat -anpt | grep squid
tcp 0 0 :::3128 :::* LISTEN 6187/(squid-1) 扩展命令如下:
~]#killall -9 squid (关闭squid)
~]#squid -k reconfigure (重新加载,但不中断服务,配置更改后,建议用这种方式加载)

注:我写了一个脚本来控制squid服务,大家可以参考我SHELL脚本分类里的文章http://www.cnblogs.com/mangood/p/6033044.html,把脚本放在/etc/init.d/squid下添加为系统服务,然后加执行权限chmod +x /etc/init.d/squid,再加为系统默认启动服务chkconfig --add squid并chkconfig squid on

Squid代理服务器(一)——大家所用的游戏代理软件到底为何物?的更多相关文章

  1. CentOS 6.4下Squid代理服务器的安装与配置,反向代理

    CentOS 6.4下Squid代理服务器的安装与配置 一.简介 代理服务器英文全称是Proxy Server,其功能就是代理网络用户去取得网络信息. Squid是一个缓存Internet 数据的软件 ...

  2. CentOS 7 Squid代理服务器反向代理

    Squid反向代理 将不同的URL请求分发到后台不同的Web服务器上,通过squid反向代理,可以加速网站的访问速度,同时互联网用户只能看到反向代理服务器的地址,加强网站的访问安全 Squid反向代理 ...

  3. CentOS 7 Squid代理服务器正向代理-透明代理

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

  4. CentOS 7 Squid代理服务器正向代理-传统代理

    Squid是Linux系统中最常用的一款开源代理服务软件,主要提供缓存加速和应用层过滤控制的功能,可以很好的实现HTTP.FTP.DNS查询以及SSL等应用的缓存代理 传统代理:普通的代理服务,多见于 ...

  5. Squid代理服务器(四)——反向代理

    一.概念 反向代理主要实现的是我们内部网站的加速功能 ,许多大型的门户网站架构中都采用了反向代理加速,使用比较多的是nginx.squid等,通过squid反向代理加速网站的访问速度,可将不同的url ...

  6. 2-12-配置squid代理服务器加快网站访问速度

    本节所讲内容: squid服务器常见概念 squid服务器安装及相关配置文件 实战:配置squid正向代理服务器 实战:配置透明squid代理提升访问速度 实战:配置squid反向代理加速度内网web ...

  7. CentOS安装squid代理服务器

    Squid是一个Linux系统下优秀的代理服务器软件.Squid可以配置普通上网代理(正向代理).反向代理.透明代理.系统是CentOS6.2.Squid主机IP为192.168.1.100. 安装s ...

  8. 【转载】CentOS 6.4下Squid代理服务器的安装与配置

    一.简介 代理服务器英文全称是Proxy Server,其功能就是代理网络用户去取得网络信息. Squid是一个缓存Internet 数据的软件,其接收用户的下载申请,并自动处理所下载的数据.当一个用 ...

  9. CentOS 6.4下Squid代理服务器的安装与配置

    一.简介 代理服务器英文全称是Proxy Server,其功能就是代理网络用户去取得网络信息. Squid是一个缓存Internet 数据的软件,其接收用户的下载申请,并自动处理所下载的数据.当一个用 ...

随机推荐

  1. Eclipse修改XML默认打开方式

    用Eclipse开发Android的时候 默认的XML是采用Android xml editor 打开,这个工具不够直观,如果想直接看文本的XML的话,可以通过如下方式修改 1.菜单:Window   ...

  2. 虚拟机之 LNMP

    LNMP就是Linux nginx mysql php 一.mysql 下载安装mysql转至 LAMP (点击“LAMP”即可跳转) 也可以从快照跳转至mysql安装ok 二.php 下载同上, 1 ...

  3. HashMap与ConcurrentHashMap的区别(转)

    从JDK1.2起,就有了HashMap,正如前一篇文章所说,HashMap不是线程安全的,因此多线程操作时需要格外小心. 在JDK1.5中,伟大的Doug Lea给我们带来了concurrent包,从 ...

  4. html-select

    <html><head> <title>select选择标签</title> <meta charset="UTF-8"> ...

  5. Mac os JAVA 开发环境配置简述

    本文原文来源:http://blog.csdn.NET/johnstrive/article/details/7791451 1.Mac 自带jdk1.6(本人的机器是这样至于新Mac自带的版本就不清 ...

  6. Linux3一些文件操作命令more,less,pr,head,tail,wc

    查看文件内容命令: more和less 用cat命令可以查看文件.有时候文件太大,可以用管道符号|配合more或者less一同使用. cat  <文本文件名称>|more cat  < ...

  7. SpringAOP01 利用AOP实现权限验证、利用权限验证服务实现权限验证

    1 编程范式 1.1 面向过程 1.2 面向对象 1.3 面向切面编程 1.4 函数式编程 1.5 事件驱动编程 2 什么是面向切面编程 2.1 是一种编程范式,而不是一种编程语言 2.2 解决一些特 ...

  8. 解决0RA-04031故障

    1.客户反应报表数据很慢,简单查询5分钟都出不来. 2.登陆数据库服务器检查日志:Thu Mar 21 16:20:30 2013Errors in file /opt/oracle/diag/rdb ...

  9. 如何撤回经由Outlook2016刚发出的邮件

    在Outlook2016中,刚发出了一封邮件,发现有问题,想撤回,如何处理? 在对方尚未查看和接收时,可撤回. 参考步骤 1.选中这封邮件,用鼠标双击打开 2.点Move旁边的下拉按钮 3.点击&qu ...

  10. xgboost 调参参考

    XGBoost的参数 XGBoost的作者把所有的参数分成了三类: 1.通用参数:宏观函数控制. 2.Booster参数:控制每一步的booster(tree/regression). 3.学习目标参 ...