设为首页 收藏本站
查看: 778|回复: 0

[经验分享] CentOS Squid-Thinking

[复制链接]

尚未签到

发表于 2018-12-26 08:33:35 | 显示全部楼层 |阅读模式
  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允许列表里,则显示的页面是禁止访问。


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-655900-1-1.html 上篇帖子: squid服务器的配置 下篇帖子: Squid 3.5/WindowsAD Group
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表