Squid cache(简称为Squid)是一个流行的自由软件(GNU通用公共许可证)的代理服务器和Web缓存服务器。Squid有广泛的用途,从作为网页服务器的前置cache服务器缓存相关请求来提高Web服务器的速度,到为一组人共享网络资源而缓存万维网,域名系统和其他网络搜索,到通过过滤流量帮助网络安全,到局域网通过代理上网。Squid与Linux下其它的代理软件如Apache、Socks、TIS FWTK和delegate相比,下载安装简单,配置简单灵活,支持缓存和多种协议。Squid之所以使用广泛,是因为它的缓存功能,Squid缓存不仅可以节省宝贵的带宽资源,也可以大大降低服务器的I/O. 从经济角度考虑,它是很多网站架构中不可或缺的角色。

Squid不仅可以做正向代理,又可以做反向代理。

正向代理,Squid后面是客户端,客户端想上网不管什么网都得经过Squid. 当一个用户(客户端)想要请求一个主页时,它向Squid发出一个申请,要Squid替它请求,然后Squid 连接用户要请求的网站并请求该主页,接着把该主页传给用户同时保留一个备份,当别的用户请求同样的页面时,Squid把保存的备份立即传给用户,使用户觉得速度相当快。

正向代理,客户端需要做一些设置,才能实现,也就是平时我们在IE选项中设置的那个代理。而反向代理是,Squid后面为某个站点的服务器,客户端请求该站点时,会先把请求发送到Squid上,然后Squid去处理用户的请求动作。

如何区分:

正向代理,Squid后面是客户端,客户端上网要通过Squid去上,对于用而言,是知道有代理的存在,常用在企业中,作为代理上网,可以很好的控制后面的客户端访问网站;

反向代理,Squid后面是服务器,服务器返回给用户数据需要走Squid,对于用户而言,是不知道访问是一个代理,而觉得是服务器本身.

官方地址:http://www.squid-cache.org/

参考文档:http://www.squid-cache.org/Doc/config/

系统环境:

操作系统:CentOS 6.7
Squid版本:3.1.23
hostname:balichvm.org

1)、安装

 yum install squid –y

2)、Squid 配置正向代理,默认的配置文件 /etc/squid/squid.conf

(1) 编辑/etc/squid/squid.conf,修改如下参数

增加

visible_hostname balichvm.org# cache_dir ufs /var/spool/squid 100 16 256           ##将前面的#号去掉
#格式表示:名称;文件格式; 缓存目录路径; 缓存大小,单位MB; 一级子目录的数量; 二级子目录的数量
cache_dir ufs /var/spool/squid 100 16 256     # 增加cache_men,默认是没有这个配置,手动添加,由于缓存存放在硬盘上比较慢,可以放到内存上
cache_mem 64 MB# 在refresh_pattern下面加入下我们需要缓存的文件,比如图片,音频,视频
refresh_pattern\.(jpg|png|gif|mp3|xml|js|css)  1440    20%    2880    ignore-reload

保存配置文件后,使用如下命令检查语法是否正确。

squid k check

(2)、启动squid

 /etc/init.d/squid start
正在启动 squid:.                [确定]

此时会在/var/spool/squid 生成缓存的目录。

(3).测试。squid默认监听的是3128端口(如果有使用iptables需要放行,或者关闭。)

curl-x192.168.171.51:3128 -I www.baidu.com
HTTP/1.0 200 OK
Date: Fri, 06 Nov 2015 14:22:23 GMT
Content-Type: text/html; charset=utf-8
Vary: Accept-Encoding
Set-Cookie:BAIDUID=CA2C3DE3C2832FD456EA94D7B71041E5:FG=1; expires=Thu, 31-Dec-37 23:55:55GMT; max-age=2147483647; path=/; domain=.baidu.com
Set-Cookie:BIDUPSID=CA2C3DE3C2832FD456EA94D7B71041E5; expires=Thu, 31-Dec-37 23:55:55 GMT;max-age=2147483647; path=/; domain=.baidu.com
Set-Cookie: PSTM=1446819743; expires=Thu,31-Dec-37 23:55:55 GMT; max-age=2147483647; path=/; domain=.baidu.com
Set-Cookie: BDSVRTM=0; path=/
Set-Cookie: BD_HOME=0; path=/
Set-Cookie:H_PS_PSSID=10299_17764_17898_1433_7477_17620_17900_17782_17001_17072_15769_12054;path=/; domain=.baidu.com
P3P: CP=" OTI DSP COR IVA OUR IND COM"
Cache-Control: private
Cxy_all:baidu+75e6e8b83b863a1d9ff7d7c75a6c2d38
Expires: Fri, 06 Nov 2015 14:22:19 GMT
X-Powered-By: HPHP
Server: BWS/1.1
X-UA-Compatible: IE=Edge,chrome=1
BDPAGETYPE: 1
BDQID: 0xd402ae2e0002376f
BDUSERID: 0
X-Cache: MISS from balichvm.org
X-Cache-Lookup: MISS from balichvm.org:3128
Via: 1.0 balichvm.org (squid/3.1.23)
Connection: keep-alive

这样就相当于是一台代理服务器,提供给后面的客户端上网,这种多用于企业。

如果只开放访问那些网站,需要用到访问控制了

(4).访问控制(acl)

在acl CONNECT method CONNECT 下面增加如下配置

acl http proto HTTP            #指定使用什么协议
acl good_domain dstdomain .baidu.com .qq.com         #定义远程访问的域名
http_access allow good_domain       #允许的
http_access deny !good_domain

保存配置文件后,重新加载配置文件,可以使用这个命令:squid reconfigure

在windows上测试,需要把ip的网关修改为squid服务器的IP地址。

3)、配置反向代理

反向代理是可以减轻后端的服务器的压力的,同时可以给用户更快的反问速度,从用户的角度来说,就想真实的访问的是后端的机器。因此,在配置文件上,首先squid监听的端口需要从3128修改为80。

比如我们做一个百度的单向代理,配置文件修改如下:

# http_port 3128 改为 http_port80 accel vhost vport
http_port80 accel vhost vport# 增加如下内容:
cache_peer 61.135.169.125 parent 80 0originserver name=baidu
cache_peer_domain baidu www.baidu.com

保存配置文件,重启服务

etc/init.d/squidrestart
停止 squid:................                      [确定]
正在启动squid:.                              [确定]

在Windows上测试,需要修改hosts文件,把www.baidu.com指向到我们的squid服务器IP上即可。

转载于:https://blog.51cto.com/balich/1710760

CentOS6.7 Linux Squid 代理服务器安装配置相关推荐

  1. Linux下Redis服务器安装配置

    说明: 操作系统:CentOS 1.安装编译工具 yum install wget  make gcc gcc-c++ zlib-devel openssl openssl-devel pcre-de ...

  2. Linux varnish代理服务器安装以及健康检查

    varnish介绍: Varnish是一款高性能.开源的反向代理服务器和缓存服务器.Varnish使用内存缓存文件来减少响应时间和网络带宽消耗. 由于varnish先进的设计理念,性能要比squid高 ...

  3. 【Linux】 Samba 服务器安装配置实现与Windows系统的文件共享服务

    Samba服务器是用来实现Linux与Windows系统之间文件传输服务的,如果经常需要在两个系统之间传送文件,安装Samba并配置共享路径是很有益的 如下是整个详细的配置过程,使用Ubuntu12. ...

  4. linux下dns服务器安装,Linux下DNS服务器安装配置方法详细介绍

    本文以Red Hat Enterprise Linux AS v4为平台 一.资料参考与准备: DNS 是指:域名服务器(Domain Name Server).在Internet上域名与IP地址之间 ...

  5. linux中 samba服务器配置,linux下samba服务器安装配置方法

    linux中samba服务器的安装及其配置,供大家参考,具体内容如下 第一步:下载samba 命令:apt-get install samba apt-get install cifs-utils a ...

  6. Squid代理服务器安装设置

    一.安装Squid服务. [root@localhost ~]# yum -y install squid 二.修改Squid配置文件. [root@localhost ~]# vim /etc/sq ...

  7. 显示并解析动态服务器值,Apache服务器安装配置

    Apache服务器安装 1.Apache服务器安装 在Linux系统下,apache服务器的安装方式比较灵活,可以使用二进制包安装,比如:rpm包.deb包.已编译好的包.也可以简单的使用yum工具进 ...

  8. Linux实战教学笔记42:squid代理与缓存实践(一)

    第1章 Squid介绍 1.1 缓存服务器介绍 缓存服务器(英文意思cache server),即用来存储(介质为内存及硬盘)用户访问的网页,图片,文件等等信息的专用服务器.这种服务器不仅可以使用户可 ...

  9. 安装ftp连接linux服务器配置,Linux下FTP安装及配置(VSFTPD服务器安装配置、FTP客户端安装配置)...

    安装说明 安装环境:CentOS-6.3 安装方式:yum安装.rpm源码安装 软件:ftp-0.17-51.1.el6.x86_64.rpm 下载地址:http://pan.baidu.com/s/ ...

  10. Linux学习笔记12——配置ftp、squid、Tomcat、Samba、MySQL主从

    Linux学习笔记12 Linux学习笔记12 配置FTP服务 配置pure-ftpd 开机启动 上传下载文件 配置vsftpd CentOS 70安装配置Vsftp服务器 搭好vsftp之后出现55 ...

最新文章

  1. 18-flutter的Future和FutureBuilder
  2. linux判断网卡是否挂载,检查网卡是否加载 - Linux服务器网卡驱动安装及故障排除_服务器应用_Linux公社-Linux系统门户网站...
  3. Objective-C字符串处理的函数
  4. 基于 KubeVela 的 GitOps 交付
  5. Linux学习笔记15—RPM包的安装OR源码包的安装
  6. CAF(C++ actor framework)(序列化之结构体,任意嵌套STL)(一)
  7. 【SSH网上商城项目实战18】过滤器实现购物登录功能的判断
  8. spring boot 实现发送邮箱验证码
  9. JAVA内部类(一)
  10. 面空间数据中网格索引和四叉树索引的结合及优化的一种方案
  11. 谷歌浏览器如何截取长屏幕(全屏截图)
  12. 基于SSH开发教务排课系统
  13. 第一次使用拉勾网求职经历
  14. java标识符命名规范之驼峰命名法
  15. 单端阻抗为什么是50欧姆-探究
  16. mysql md5 数据库_mysql数据库密码md5加密
  17. php 根据经纬度获取附近50km的信息,并计算距离
  18. 练手——蚂蚁二面笔试题
  19. MapReduce Hold不住?
  20. 带密码WMV电影终极破解

热门文章

  1. java课程设计代码_java(课程设计之记事本界面部分代码公布)
  2. vue怎么使用eval_javascript - 在方法内部的Vue2中使用eval()可以工作,但不能同时工作 - 堆栈内存溢出...
  3. 使用yolo v3训练自己的模型
  4. 图像缩放之双线性插值
  5. c++指针初始化问题
  6. openSSL AES 加密引擎代码分析
  7. 用户中心模块——基于Django框架的天天生鲜电商网站项目系列博客(五)
  8. 日报系统、周报系统推荐
  9. python小飞机程序
  10. vim中:x和:wq的区别