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

安装
yum install squid

修改配置文件 /etc/squid/squid.conf
(如果该文件配置坏掉了,有 squid.conf.default 可以备用,两个文件在刚安装后是一模一样的)

# squid 端口,默认是3128
http_port 3128

# 指定硬盘缓冲区的大小
# ufs: 缓存类型
# /var/spool/squid:缓存目录
# 300:缓存大小(Mbytes)
# 允许在“/tmp”下创建的第一级子目录数为16,每个第一级子目录下可以创建的第二级子目录数量为256
cache_dir ufs /var/spool/squid 300 16 256

# 自定义某个IP或者某网段,使用 http_access 选项允许该列表
acl our_networks src 11.11.11.11/255.255.255.255
acl our_networks src 12.12.12.12/29
http_access allow our_networks

# 服务器的主机名,可随便定义
visible_hostname 221_170

# 关闭此项将在访问网站时显示的IP是unknown,如果打开则显示的是你client的内网IP
forwarded_for off

# 防止知道客户的内部 ip
header_access Via deny all

# 防止知道代理服务器的服务器名以及端口
header_access X-Forwarded-For deny all

启动 squid
service squid start

squid 的 log:/var/log/squid/
access.log cache.log squid.out store.log

给出一些 header,可以屏蔽它们

Accept  HTTP_ACCEPT
Accept-Charset  HTTP_ACCEPT-CHARSET
Accept-Encoding  HTTP_ACCEPT-ENCODING
Accept-Language  HTTP_ACCEPT-LANGUAGE
Accept-Ranges  HTTP_ACCEPT-RANGES
Age  HTTP_AGE
Allow  HTTP_ALLOW
Authorization  HTTP_AUTHORIZATION
Cache-Control  HTTP_CACHE-CONTROL
Connection  HTTP_CONNECTION
Content-Base  HTTP_CONTENT-BASE
Content-Disposition  HTTP_CONTENT-DISPOSITION
Content-Encoding  HTTP_CONTENT-ENCODING
Content-Language  HTTP_CONTENT-LANGUAGE
Content-Length  HTTP_CONTENT-LENGTH
Content-Location  HTTP_CONTENT-LOCATION
Content-MD5  HTTP_CONTENT-MD5
Content-Range  HTTP_CONTENT-RANGE
Content-Type  HTTP_CONTENT-TYPE
Cookie  HTTP_COOKIE
Date  HTTP_DATE
ETag  HTTP_ETAG
Expires  HTTP_EXPIRES
From  HTTP_FROM
Host  HTTP_HOST
If-Match  HTTP_IF-MATCH
If-Modified-Since  HTTP_IF-MODIFIED-SINCE
If-None-Match  HTTP_IF-NONE-MATCH
If-Range  HTTP_IF-RANGE
Last-Modified  HTTP_LAST-MODIFIED
Link  HTTP_LINK
Location  HTTP_LOCATION
Max-Forwards  HTTP_MAX-FORWARDS
Mime-Version  HTTP_MIME-VERSION
Pragma  HTTP_PRAGMA
Proxy-Authenticate  HTTP_PROXY-AUTHENTICATE
Proxy-Authentication-Info  HTTP_PROXY-AUTHENTICATION-INFO
Proxy-Authorization  HTTP_PROXY-AUTHORIZATION
Proxy-Connection  HTTP_PROXY-CONNECTION
Public  HTTP_PUBLIC
Range  HTTP_RANGE
Referer  HTTP_REFERER
Request-Range  HTTP_REQUEST-RANGE
Retry-After  HTTP_RETRY-AFTER
Server  HTTP_SERVER
Set-Cookie  HTTP_SET-COOKIE
Title  HTTP_TITLE
Transfer-Encoding  HTTP_TRANSFER-ENCODING
Upgrade  HTTP_UPGRADE
User-Agent  HTTP_USER-AGENT
Vary  HTTP_VARY
Via  HTTP_VIA
Warning  HTTP_WARNING
WWW-Authenticate  HTTP_WWW-AUTHENTICATE
Authentication-Info  HTTP_AUTHENTICATION-INFO
X-Cache  HTTP_X-CACHE
X-Cache-Lookup  HTTP_X-CACHE-LOOKUP
X-Forwarded-For  HTTP_X-FORWARDED-FOR
X-Request-URI  HTTP_X-REQUEST-URI
X-Squid-Error  HTTP_X-SQUID-ERROR
Negotiate  HTTP_NEGOTIATE
X-Accelerator-Vary  HTTP_X-ACCELERATOR-VARY
Squid 用户名密码认证
利用 apache 携带的工具 htpasswd 生成密码文件并添加相应的用户信息,可能需要写全 htpasswd 的路径(如果这个服务器上有若干网站,选择使用80端口的那个目录下的htpasswd)
/usr/bin/htpasswd -c /etc/squid/passwd testuser
根据提示输入密码:1234
成功后将会在 /etc/squid/passwd 中写入:
testuser:cuUEnEwyMTcGY
第一列表明用户名,第二列表明密码

修改 squid 配置文件:
# 定义了认证方式为 basic,认证程序的路径,认证程度需要读取的帐户文件(注意 ncsa_auth 和 上个步骤建立的 passwd 的路径)
auth_param basic program /usr/lib/squid/ncsa_auth /etc/squid/passwd
# 自定义一条名为 auth_user 的ACL,ACL类型为 proxy_auth 通过外部程序进行用户认证方式,列表值为REQUIRED,说明接受所有合法用户的访问,然后使用 http_access 选项允许该列表
acl auth_user proxy_auth REQUIRED
http_access allow auth_user

体验:
- 在没有开启用户名密码认证时,能成功地只允许某些 IP 访问代理服务器,并且屏蔽掉客户端的信息。
- 当开启用户名密码认证时,只要验证成功,无论 IP 是什么,都能够使用代理服务器。

验证方法:
浏览器菜单 – 工具 – Internet选项 – 连接 – 局域网设置 – 勾选“为LAN使用代理服务器”,输入代理服务器的IP和端口

然后看是否能正常浏览网页,如果是通过用户名密码验证的,则会跳出验证框,如果不在IP允许列表里,则显示的页面是禁止访问。

转载于:https://blog.51cto.com/tetop/671354

CentOS Squid相关推荐

  1. CentOS Squid 安装配置

    安装 ./configure --disable-internal-dns make make install 修改squid.conf加以下两句 dns_children 20 redirect_c ...

  2. CentOs - squid

    Squid 安装 squid 服务,开启路由转发,为当前实验环境提供路由功能: 1.安装Squid 2.配置 Squ

  3. CentOS 6.0配置pptp ××× Client和Squid透明网关

    目的: 构建一台单网卡Linux网关(透明代理),该网关拨入某海外×××服务器,客户端设定该网关后,网络出口则为海外×××服务器,实现加速访问一些网站的目的. 环境信息: 硬件:DELL机器一台,单网 ...

  4. CentOS 6.6编译安装Squid 配置反向代理服务器

    squid安装: 1.下载squid源码安装包 wget http://www.squid-cache.org/Versions/v3/3.2/squid-3.2.3.tar.gz 解压缩 tar z ...

  5. linux7squid编译安装,CentOS 7.3 源码安装squid 4.12 及安装过程遇到的一些问题

    CentOS 7.3 源码安装squid 4.12 及安装过程遇到的一些问题 一.源码安装squid 4.12 1.下载squid-4.12源码包 wget http://www.squid-cach ...

  6. CentOS 7安装squid代理服务器

    Squid,一个高性能的代理缓存服务器,支持FTP.gopher.HTTP协议. Squid,一个缓存Internet 数据的软件,其接收用户的下载申请(作为代理服务器),并自动处理所下载的数据,并返 ...

  7. centos代理服务器squid安装与使用以及windows代理服务器CCproxy安装使用

    一.centos代理服务器squid安装与使用 1.安装 yum install squid -y yum install httpd-tools -y 2.配置squid.conf文件 vi /et ...

  8. Squid代理服务器的安装与配置 CentOS

     Squid代理服务器的安装与配置 CentOS 转自:http://www.cnblogs.com/mchina/p/3812190.html 一.简介 代理服务器英文全称是Proxy Serv ...

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

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

最新文章

  1. three相机在模型上_基于 three.js 的 3D 粒子动效实现
  2. 【转载】混合高斯模型(Mixtures of Gaussians)和EM算法
  3. 人工智能行业有哪些岗位_建筑行业年薪超50万,哪些岗位有希望达到?你是什么岗位呢?昆山建造师培训学校...
  4. mybatis基于注解的入门案例
  5. mysql.cnf utf8_mysql通过my.cnf修改默认字符集为utf-8的方法和注意事项
  6. 文房四宝用计算机取代的什么,《文房四宝》阅读练习及答案
  7. 计算机科学与因果关系,计算机科学与技术
  8. 信息学奥赛一本通C++语言——1014:与圆相关的计算
  9. Kaggle新上比赛-鲸鱼图像识别-总奖池17.4万人民币
  10. python-基础学习篇(一)
  11. 商汤携手迅达,全面打造“AI+电梯“,实现全流程安全智能自动化管理
  12. 行为型模式——状态模式(十一)
  13. RPC原来就是Socket——RPC框架到dubbo的服务动态注册,服务路由,负载均衡演化...
  14. MSDN上的异步socket 服务端例子
  15. Django---简单from表单提交
  16. 李航老师《统计学习方法》第二版第十一章课后习题答案
  17. 使用RoboCopy 命令[转载]
  18. 谷哥学术2022年2月资源分享下载列表 15/20
  19. 上传文件的几种主要方法。
  20. python辅助u盘数据恢复

热门文章

  1. [RN] React Native 调试技巧
  2. 06 Jquery 基础
  3. python 游戏 —— 汉诺塔(Hanoita)
  4. OC系列foundation Kit基础-NSString
  5. SQL中读取Excel 以及 bpc语言
  6. AppDelegate 处理iOS应用的生命周期事件
  7. JAVA WEB开发环境搭建教程
  8. delphi 画 带箭头的线
  9. 从HelloWorld看iphone程序的生命周期
  10. CPU profiling