yanfei 发表于 2018-12-28 06:44:24

第二十四天:squid 代 理 服 务 器 配 置

  小Q:任何事情,若走不下去了,不要急着硬闯,停下来缓一缓,若停下来还是不行,那就退一步,一切都会豁然开朗。
  今天注定学不了这么多了,晚上的就业指导课好像是要结课了,得去看看了;而且旁边的舍友天天放我最喜欢的电影,忍不住往那边看,唉··········;算了,今天就放松一下吧。一会去想想实习报告怎么写吧;然后晚上吧,洗个澡洗洗衣服;今天也就看了squid代理服务,记录一下吧!      
  本来看了两小节的tomact,但是就看不下去了,想想他跟resin是一家,都是解析java写的Jsp服务页面的,明天一块看吧;今天是没时间了。
  =========================简 介 ==========================
  ***:是指绕过相应的IP封锁、内容过滤、域名劫持、流量限制等,实现对网络内容的访问。境外公司曾发布几款突破网络封锁以访问海外敏感网站或邮件的***软件。
  CDN的全称是Content Delivery Network,即内容分发网络。其基本思路是尽可能避开互联网上有可能影响数据传输速度和稳定性的瓶颈和环节,使内容传输的更快、更稳定。通过在网络各处放置节点服务器所构成的在现有的互联网基础之上的一层智能虚拟网络,CDN系统能够实时地根据网络流量和各节点的连接、负载状况以及到用户的距离和响应时间等综合信息将用户的请求重新导向离用户最近的服务节点上

  代理服务器(Proxy Server)是一种重要的服务器安全功能,它的工作主要在开放系统互联(OSI)模型的会话层,从而起到防火墙的作用。代理服务器大多被用来连接INTERNET(国际互联网)和Local Area Network(局域网)
  分类:HTTP代理socks代理***代理   反向代理
  

  
  在架设了web服务时,代理 服务器是不可或缺的一部分。
  Squid是基于Unix的代理服务器(proxy server),它缓存比起点源点更接近请求者的互联网内容。Squid支持缓存多种不同的网络对象,包括那些通过HTTP和FTP访问的人。
  缓存频繁要求网页、媒体文件和其它加速回答时间并减少带宽堵塞的内容。
  

  squid代理服务器做既能做正向代理又能做反向代理,其中正向代理又分为传统代理和透明代理,目前squid做正向代理时一般使用透明代理。
  安   装:   yum    install   -y    squid      

  配置文件 :/etc/squid/squid.conf
  =========================正向代理========================

  目的 :

  为客户端做代理,比如我们不能访问谷歌·facebook等网站,我们可以用香港的服务器或国外网站做代理去访问谷歌,服务端识别不到我们,只能看到香港有一台客户机在访问他;可以实现***和CDN加速功能。
  
http://s3.运维网.com/wyfs02/M01/74/28/wKiom1YWGg3QrwoaAAGnD8GL-R8177.jpg
http://s3.运维网.com/wyfs02/M00/74/28/wKiom1YWGg6ytF-tAADyrEk0OhY646.jpg
  正如以上两幅图片:用户可越过网关,直接通过代理服务器链接要访问的服务器
  

  进入配置文件:
  更 改 :cache_dir缓存文件路径    容量一级目录个数二级目录个数      将注释去掉
  增 加 : cache_mem28 MB                                                                   内存容量,提高访问速度
           refresh_pattern    \.(jpg|gif|css|js|mp3|mp4)1440   20%2880ignore-reload   
                                                                                                              缓存的文件类型
#可以调用的模板
http_port 3128
acl manager proto cache_object
acl localhost src 127.0.0.1/32 ::1
acl to_localhost dst 127.0.0.0/8 0.0.0.0/32 ::1
acl localnet src 10.0.0.0/8   # RFC1918 possible internal network
acl localnet src 172.16.0.0/12# RFC1918 possible internal network
acl localnet src 192.168.0.0/16 # RFC1918 possible internal network
acl SSL_ports port 443
acl Safe_ports port 80 8080         # http
acl Safe_ports port 21          # ftp
acl Safe_ports port 443         # https
acl CONNECT method CONNECT
http_access allow manager localhost
http_access deny manager
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access allow localnet
http_access allow localhost
http_access allow all
cache_dir aufs /data/cache 1024 16 256
cache_mem 128 MB
hierarchy_stoplist cgi-bin ?
coredump_dir /var/spool/squid
refresh_pattern ^ftp:         1440    20%   10080
refresh_pattern ^gopher:      1440    0%      1440
refresh_pattern -i (/cgi-bin/|\?) 0   0%      0
refresh_pattern \.(jpg|png|gif|mp3|xml) 1440    50%   2880    ignore-reload
refresh_pattern .               0       20%   4320
#模板的缓存路径与我们设置路径不同,需要新建然后chown -R squid:squid /data/cache  检 测:squid-kcheck
  启 动 :/etc/init.d/squid      start
  有时会有错,当遇到不出错误信息的错时,一定要去看日志/var/log/squid/,养成习惯;

  有可能要添加   visible_hostname    teng,com                              代理要让客户端看到的域名
  


squid   -z         初始化缓存目录,该步骤可以省略
squid   -v          查看版本以及编译参数
  查 看 : netstat   -lnp| grep squid

  测 试 :浏览器下 网站设置·······选项······高级······局域网设置·······代理设置············填写IPport

              访问网站·········在代理端抓包 tcpdump-nnport3128·······也可以到缓存目录下看生成的文件
              代理端测试·········curl-x127.0.0.1:3128    www.baidu.com-I   抓包或看缓存,有流向;
  

  举例:在公司里,为了让员工好好工作,不能上qq.com,或者游戏网站,我们要怎么做?
  一般公司里员工用的都是内网,而管理员控制着他们上网的必经之路--服务器,这样设置就简单多了
  进入配置文件;
  添 加 :
  http://s3.运维网.com/wyfs02/M02/74/28/wKiom1YWG5ii4LvZAADpDCshv70697.jpg
  这是设置的白名单,代理服务器允许访问的网站;

  我们也可以设置黑名单:不让进这些网站:
  acl   http   proto   HTTP
  acl    bad_domain   dstdomain    .baidu.com    .test.com    .sina.com
  http_access deny    bad_domain
  http_access allow   !bad_domain                  
  

  检   测: squid-kcheck

  重加载:/etc/init.d/squid    reload       或         squid   -kre
  测   试 :进入浏览器测试; 或者用curl,访问白名单之外都会403
  
  curl -xlocalhost:3128 www.baidu.com.hk -I#403
  curl -xlocalhost:3128 www.aminglinux.com/bbs/forum.php-I #200
  扩展:详解 http://www.cnblogs.com/mchina/p/3812190.html
  ========================反向代理=======================
   目的:为服务端做代理,用户访问的时候只能看到代理,通过多个代理访问,却无法看到真正的后端服
            务器,更安全;也可以减轻后端web服务器的压力,提高访问速度。
  如图:我们可以通过多台z减轻B的压力;用户也无法看到z的真是服务器是B;

        B添加了一层防火墙,更安全;
http://s3.运维网.com/wyfs02/M02/74/26/wKioL1YWILLAnQKcAAGroIdQWxk514.jpg
  进入配置文件:
  更 改 :http_port    80                (为了让客户端看不到访问是3128端口代理)
  添 加 :
  http_port 80   accel   vhost   vport         #替换上面 http_port 80
  cache_peer    220.181.112.244    parent80   0   originserver    name=a
  cache_peer_domain   a   www.baidu.com
  cache_peer123.151.148.111   parent80   0    originserver   name=b
  cache_peer_domain   b    www.qq.com
  之前增加的域名白/黑名单相关配置去掉
  如果是squid要代理一台web上的所有域名,那么就写成这样:
  cache_peer 192.168.10.111 parent80 0 originserver#cache_peer_domain都可以省掉
http://s3.运维网.com/wyfs02/M01/74/28/wKiom1YWHIfycYMkAAExXGp9N4g902.jpg
  在反向代理是我们不需要设置客户端浏览器中的代理设置,关掉就好,只不过我们要在客户端的 c/windoes/systerm32/dirves/etc/hosts添加windows域名解析
  格 式 : 192.168.1.103   www.baidu.com   www.qq.com   www.sina.com   www.hfkf.com等等

  

  当我们访问这些域名时,他会以192.168.1.103为代理,就是说对方看到的是103访问的,看不到我们真实IP;代理中允许访问的百度和qq才可以访问,其他的则会403错误;
  如果我们不访问以上配置的域名,浏览器会通过路由器的IP(机子真实IP)访问外网;
  

  测 试 :方法都一样,浏览器和curl测试;注意以上的问题就好。
  
反向代理:http://blog.163.com/koumm@126/blog/static/95403837200972681517242/
  扩展:

  正反向概念http://z00w00.blog.运维网.com/515114/1031287

  配置文件解析http://www.360doc.com/content/10/1025/14/737570_63865241.shtml
  squid故障处理http://blog.sina.com.cn/s/blog_3dbab2840100kji4.html
  
  squid.conf中cache_peer详解http://wycsy.blog.运维网.com/3709381/860638
  squid日志不记录静态项 http://www.aminglinux.com/bbs/thread-5307-1-1.html
  squid配置用户认证 http://www.aminglinux.com/bbs/thread-5400-1-1.html

  squid配置防盗链http://www.360doc.com/content/09/0708/14/32573_4187432.shtml
  查看squid缓存命中率http://www.aminglinux.com/bbs/thread-757-1-1.html
  删除squid缓存http://www.aminglinux.com/bbs/thread-5297-1-1.html
  squid日志http://www.aminglinux.com/bbs/thread-145-1-1.html
  squid负载均衡http://blog.chinaunix.net/uid-24499216-id-2602960.html
  squid3安装配置文档(编译安装) http://wenku.baidu.com/view/50e8a3bd960590c69ec376c0.html   
  

  问题:   解决:文件中添加   visible_hostname    teng,com
http://s3.运维网.com/wyfs02/M01/74/29/wKiom1YWIDqj5BTPAAFZJ_w21mM488.jpg
http://s3.运维网.com/wyfs02/M00/74/26/wKioL1YWIFDxQRXdAADlgsELzhE244.jpg

  




页: [1]
查看完整版本: 第二十四天:squid 代 理 服 务 器 配 置