安装

./configure --disable-internal-dns
make
make install
修改squid.conf加以下两句
dns_children 20
redirect_children 20
再启动squid,哇........,这才是我要的squid!!!!!!!!!!!!!
ps一下发现多了20个dnsserver进程。再分析:可能是此参数把squid的逐个查询DNS改为了并行查询。现已运行数天,尚未发现问题。

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/1841cisco/1166275

CentOS Squid 安装配置相关推荐

  1. Centos 6 安装 配置 oracle11g R2

    Centos 6 安装 配置 oracle11g R2 分享到:0 分类:                          Linux&CentosOracle 1.安装centos6.3_ ...

  2. CentOS 7 安装配置 NFS

    CentOS 7  安装配置 NFS 环境 nps 192.168.1.97 client 192.168.1.98 一.yum 安装 yum -y install nfs-utils rpcbind ...

  3. Linux 实操———CentOS 6 安装配置 Tomcat

    引言 Linux下安装Tomcat. 一.下载.传输与解压 同<Linux 实操---CentOS 6 安装配置 Oracle JDK 1.8>一样,前期都是先在远程机上下载压缩包,然后通 ...

  4. centos 7安装配置python3.7

    centos 7安装配置python3.7(亲测) 默认版本为python2.7 (1)下载python版本 wget https://www.python.org/ftp/python/3.7.3/ ...

  5. centos 一键安装配置nginx脚本

    centos 一键安装配置nginx脚本 installNginx.ssh 用vi或则vim编辑 installNginx.ssh #!/bin/bash # author:kwin # Email: ...

  6. CentOS 6 安装配置教程【完整版】

    [url]http://yp.oss.org.cn/blog/show_resource.php?resource_id=1069[/url] 一.准备安装CentOS 6 1.CentOS简介 Ce ...

  7. centos+ffmpeg安装配置+切片

    在虚拟机vmware6(版本比较旧了)中,安装centos6,不多说了. vmware虚拟工具安装前,需要安装如下内容 yum -y install kernel-devel yum -y insta ...

  8. 在CentOS下安装配置MySQL(转)

    今天刚把项目做完,需要马上部署到新到的测试服务器上,于是乎,要在服务器上安装环境,由于好久在linux上部署了,手有些生,比较费劲装完,现在把重要步骤贴出,供自己以后参照. 1.首先要看看有没有已经安 ...

  9. centos编译安装配置支持ssl加密的mysql replication

    参考文章:http://www.howtoforge.com/how-to-set-up-mysql-database-replication-with-ssl-encryption-on-cento ...

最新文章

  1. 人工智能岗位替代----办公文员
  2. java 参数 string_关于Java中String类型的参数传递问题
  3. linux下网口监控软件_超赞的!Aibaba技术官分享高性能Linux服务器解读笔记
  4. [密码学基础][每个信息安全博士生应该知道的52件事][Bristol Cryptography][第30篇]大致简述密钥协商中的BR安全定义
  5. vue component created没有触发_面试!面试!面试!vue常见面试题。
  6. java基础运算符、键盘录入
  7. 标准C程序设计七---72
  8. 2019年江苏省计算机一级考试题目和答案,江苏省计算机等级考试一级2019年(春)...
  9. V - 不容易系列之(4)――考新郎(第二季水)
  10. python实现GBDT算法的回归、二分类以及多分类,算法流程解读并可视化
  11. 显示纯服务器_BBT三行代码搭建服务器,让Dynamo跳出IronPython的封锁
  12. 驰骋工作流程引擎在流程设计发生变化后如何处理?
  13. android网络工程师,网络工程师题库app下载
  14. 数据分析中的统计学基础知识
  15. Ant Design Vue下载本地文件(其他框架也适用)
  16. FlashFXP 破解版下载地址
  17. 跑马灯的一些使用心得
  18. 一元多次方程C语言,C语言解决多元多次方程.(19页)-原创力文档
  19. vue的history模式,页面刷新404,以及引入得第三方插件或者JS路径错误的解决办法
  20. 亚马逊linux密码,Linux、Centos、Ubuntu亚马逊服务器开启密码远程,启用root账号

热门文章

  1. 深入理解Spring AOP思想
  2. weex前端式写法解决方案---eros
  3. Scala 中下划线的用法
  4. 通过SSIS的“查找”组件进行不同数据源之间数据的合并操作
  5. 数据库 —— 应用程序与数据库的连接
  6. 庆祝Dojo中文博客成为CSDN博客专家!
  7. 互联网音乐还有什么机会
  8. 让无数社群为自己打工?你要用好这6大驱动力
  9. websocket传输canvas图像数据给C++服务端opencv图像实现web在线实时图像处理
  10. ServletContextListener接口用法