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

[经验分享] 第二十四天:squid 代 理 服 务 器 配 置

[复制链接]

尚未签到

发表于 2018-12-28 06:44:24 | 显示全部楼层 |阅读模式
  小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加速功能。
  


  正如以上两幅图片:用户可越过网关,直接通过代理服务器链接要访问的服务器
  

  进入配置文件:
  更 改 :cache_dir  缓存文件路径    容量  一级目录个数  二级目录个数        将注释去掉
  增 加 : cache_mem  28 MB                                                                   内存容量,提高访问速度
             refresh_pattern    \.(jpg|gif|css|js|mp3|mp4)  1440   20%  2880  ignore-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

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

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

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

  我们也可以设置黑名单:不让进这些网站:
  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_port    80                (为了让客户端看不到访问是3128端口代理)
  添 加 :
  http_port 80   accel   vhost   vport         #替换上面 http_port 80
  cache_peer    220.181.112.244    parent  80   0   originserver    name=a
  cache_peer_domain   a   www.baidu.com
  cache_peer  123.151.148.111     parent  80   0    originserver   name=b
  cache_peer_domain   b    www.qq.com
  之前增加的域名白/黑名单相关配置去掉
  如果是squid要代理一台web上的所有域名,那么就写成这样:
  cache_peer 192.168.10.111 parent  80 0 originserver  #cache_peer_domain  都可以省掉

  在反向代理是我们不需要设置客户端浏览器中的代理设置,关掉就好,只不过我们要在客户端的 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



  





运维网声明 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-656603-1-1.html 上篇帖子: centos5下squid3.1最新安装笔记 下篇帖子: centos 6上squid的相关脚本
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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