码迷,mamicode.com
首页 > 其他好文 > 详细

Squid服务器配置

时间:2014-07-18 13:10:48      阅读:235      评论:0      收藏:0      [点我收藏+]

标签:squid 基本配置

  1. squid

              Squid cache(简称为Squid)是一个流行的自由软件,它符合GNU通用公共许可证。Squid作为网页服务器的前置cache服务器,可以代理用户向web服务器请求数据并进行缓存,也可以用在局域网中,使局域网用户通过代理上网。Squid主要设计用于在Linux一类系统运行。

          Squid是一个缓存internet数据的一个软件,它接收用户的下载申请,并自动处理所下载的数据。也就是说,当一个用户想要下载一个主页时,它向Squid发出一个申请,要Squid替它下载,然后Squid 连接所申请网站并请求该主页,接着把该主页传给用户同时保留一个备份,当别的用户申请同样的页面时,Squid把保存的备份立即传给用户,使用户觉得速度相当快。

  2. squid优点

     加快访问速度,节约通信带宽 
        防止内部主机受到攻击 
        限制用户访问,完善网络管理

3.代理服务器原理

         代理服务器接受到请求后,首先与访问控制列表中的访问规则相对照,如果满足规则,则在缓     存中查找是否存在需要的信息。

        客户端B向代理服务器提出相同的请求。代理服务器也首先与访问控制列表中的访问规则相对        照。如果满足规则,则将缓存中的信息传送给客户端B

4 Squid 主要组成部分

    服务名:squid

   主程序:/usr/sbin/squid

   配置目录:/etc/squid

   主配文件:/etc/squid/squid.conf

   监听tcp端口号:3128

   默认访问日志文件:/var/log/squid/access.log

以下是一些squid的基本配置参数解释(三种代理基本配置)


http_port 3128 //设置监听的IP与端口号

cache_mem 64 MB //设置内存缓冲的大小

cache_dir ufs /var/spool/squid 2000 16 256 //设置硬盘缓冲大小

//ufs 存储格式   2000  目录空间  16一级子目录  256   二级子目录

cache_effective_user squid   //设置缓存的有效用户

cache_effective_group squid  //设置缓存的有效用户组

dns_nameservers 192.168.0.254  //设置DNS服务器地址,一般可以不设置,默认使用服务器自己设置的dns

cache_access_log /var/log/squid/access.log //设置访问日志文件

cache_log /var/log/squid/cache.log //设置缓存日志文件

visible_hostname 192.168.0.20 //设置squid主机名称

以上全局参数根据你自己的需要修改

其实linux下的服务器配置文件最好就是squid,它对每个参数都有解释,而且很多有很多实例

5.squid中的访问控制

语法:acl  列表名称  列表类型  [-i]   列表值

列表类型

* src=\‘#\‘" /span>

* dst : 目标地址 (即服务器IP地址)

* srcdomain : 源名称 (即客户机名称)

* dstdomain : 目标名称 (即服务器名称)

* time : 一天中的时刻和一周内的一天

* url_regex : URL 规则表达式匹配

* urlpath_regex: URL-path 规则表达式匹配,略去协议和主机名

* proxy_auth : 通过外部程序进行用户验证

* maxconn : 单一 IP 的最大连接数

6squid三种代理

 a  普通代理

一个标准的代理缓冲服务被用于缓存静态的网页(例如:html文件和图片文件等)到本地网络上的一台主机上(即代理服务器)。当被缓存的页面被第二次访问的时候,浏览器将直接从本地代理服务器那里获取请求数据而不再向原web站点请求数据。这样就节省了宝贵的网络带宽,而且提高了访问速度。但是,要想实现这种方式,必须在每一个内部主机的浏览器上明确指明代理服务器的IP地址和端口号。客户端上网时,每次都把请求送给代理服务器处理,代理服务器根据请求确定是否连接到远程web服务器获取数据。如果在本地缓冲区有目标文件,则直接将文件传给用户即可。如果没有的话则先取回文件,先在本地保存一份缓冲,然后将文件发给客户端浏览器。


客户端端要在自己的浏览器里指定代理服务器的ip 和监听的端口,才能通过代理服务器访问


bubuko.com,布布扣

b透明代理

明代理缓冲服务和标准代理服务器的功能完全相同。但是,代理操作对客户端的浏览器是透明的(即不需指明代理服务器的IP和端口)。透明代理服务器阻断网络通信,并且过滤出访问外部的HTTP80端口)流量。如果客户端的请求在本地有缓冲则将缓冲的数据直接发给用户,如果在本地没有缓冲则向远程web服务器发出请求,其余操作和标准的代理服务器完全相同。对于Linux操作系统来说,透明代理使用Iptables或者Ipchains实现。因为不需要对浏览器作任何设置,所以,透明代理对于ISPInternet服务器提供商)特别有用。

配置:

客户端不需要在浏览器里指定代理服务器的ip地址和监听的端口,只要把网关地址指向代理服务器内网接口的Ip地址就可以了。

 服务器上的配置与标准的代理缓冲服务器几乎一样

服务器:bubuko.com,布布扣


防火墙规则

iptables  -t  nat   -A  PREROUTING  -i  eth0  -s  1。1.1.0/8  -p  tcp  --dport 80  -j  REDIRECT --to-port 3128

service   iptables   save  保存规则

-i  指定数据包进入的接口

-s  指定数据包来自于哪个网段

-p  数据传输协议

--dport  目标端口

客户端

bubuko.com,布布扣

c反向代理

反向代理是和前两种代理完全不同的一种代理服务。使用它可以降低原始WEB服务器的负载。反向代理服务器承担了对原始WEB服务器的静态页面的请求,防止原始服务器过载。它位于本地WEB服务器和Internet之间,处理所有对WEB服务器的请求,组织了WEB服务器和Internet的直接通信。如果互联网用户请求的页面在代理服务器上有缓冲的话,代理服务器直接将缓冲内容发送给用户。如果没有缓冲则先向WEB服务器发出请求,取回数据,本地缓存后再发送给用户。这种方式通过降低了向WEB服务器的请求数从而降低了WEB服务器的负载。

配置:

服务器:bubuko.com,布布扣

cache_peer指定后端真正的网站服务器的ip地址,parent 当前代理服务器与后端网站服务器的关系,80 网站服务器监听的端口号,0 当前代理服务器与网络中其他代理服务器通信的接口,originserver 指定提供网站服务的真正的主机

客户端访问代理服务器,再由代理服务器来访问相应的web服务

bubuko.com,布布扣

看反向代理成功了。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。


本文出自 “一起去奋斗” 博客,请务必保留此出处http://zwltc.blog.51cto.com/6019176/1439730

Squid服务器配置,布布扣,bubuko.com

Squid服务器配置

标签:squid 基本配置

原文地址:http://zwltc.blog.51cto.com/6019176/1439730

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!