当前位置:首页 > CN2资讯 > 正文内容

配置squid 代理squid 代理

3天前CN2资讯

一、什么是squid

     1、 squid可以做代理也可以做缓存

      2、squid缓存不仅可以节省宝贵的带宽资源,也可以大大降低服务器的I/O

      3、squid即可以做正向代理也可以做反向代理

       4、正向代理,squid后面是客户端,客户端上网要通过squid去上;反向代理后面是服务器,服务器返回给用户数据的时候需要走squid

       5、正向代理用在企业的办公环境中,员工上网需要通过squid代理来上网,这样子可以节省网络带宽资源,而反向代理用来搭建网站静态项(图片、html、流媒体、js、css等)的缓存服务器,主要用于网站架构中

 

二、搭建squid正向代理

1、安装squid

    yum install -y squid

2、查看squid版本及其编译参数使用squid -v命令

    [root@chenglinux ~]# squid -v

3、清空默认的配置文件

     [root@chenglinux ~]# > /etc/squid/squid.conf

4、将一下模板代码拷贝到squid.conf文件中去

     模板代码:

http_port 3128  #正向代理默认的端口是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  #本地磁盘上的目录,这个目录是需要自己创建,不然无法启动,16是定义的cache目录下的目录数量 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

退出保存

5、创建缓存目录cache

     [root@chenglinux ~]# mkdir -p /data/cache

6、更改权限

    [root@chenglinux ~]# chown -R squid /data/cache

7、启动squid

     需要注意的是在早期的squid版本中需要初始化一下才可以启动

     初始化的命令:squid -z

   [root@chenglinux ~]# /etc/init.d/squid start

8、检查一下cache目录下是否有生成目录,默认是16个

     [root@chenglinux ~]# ls /data/cache/

9、常用的命令

  squid -kcheck:检查配置文件是否有错误

  squid -k rec :重新加载配置

  service squid restart:重启squid,需要注意的是重启的时候回很慢,可以直接先killall squid然后在重启

10、测试

[root@mysql ~]# curl -x192.168.21.99:3128 www.baidu.com

 如果看到一大串的东西,就说明正向代理已经成功

 

测试缓存

[root@mysql ~]# curl -x192.168.21.99:3128 http://s3.皇冠云.com/wyfs02/M02/5B/D5/wKiom1UTub-T8AQUAABa6PsQTa4459_middle.jpg -I

看一下两图的区别

第一张图多了MISS

 

三、设置黑白名单

         白名单

        要求:允许访问网易126、皇冠云,其他的拒绝

       1、在/etc/squid/squid.conf配置文件中的acl CONNECT method CONNECT下添加一下代码:

        acl http proto HTTP

        acl good_domain dstdomain .baidu.com .           

        http_access allow http good_domain

        http_access deny http !good_domain

      如图:

退出保存

2、重置squid服务

 [root@chenglinux ~]# squid -k rec


3、测试   

   1)访问126

[root@mysql ~]# curl -x192.168.21.99:3128 http://ww.126.com -I HTTP/1.0 200 OK Date: Tue, 30 Jun 2015 08:45:49 GMT Expires: Tue, 30 Jun 2015 09:45:49 GMT Server: nginx Content-Type: text/html Content-Length: 95122 Last-Modified: Mon, 18 May 2015 07:29:49 GMT Cache-Control: max-age=3600 Accept-Ranges: bytes X-Via: 1.1 zhenjiang167:8109 (Cdn Cache Server V2.0), 1.1 ly17:7 (Cdn Cache Server V2.0) Age: 187 X-Cache: HIT from chenglinux X-Cache-Lookup: HIT from chenglinux:3128 Via: 1.0 chenglinux (squid/3.1.10) Connection: keep-alive


2)访问百度

[root@mysql ~]# curl -x192.168.21.99:3128 http://ww.baidu.com -I HTTP/1.0 403 Forbidden  #提示被禁止的 Server: squid/3.1.10 Mime-Version: 1.0 Date: Mon, 29 Jun 2015 17:37:27 GMT Content-Type: text/html Content-Length: 3264 X-Squid-Error: ERR_ACCESS_DENIED 0 Vary: Accept-Language Content-Language: en X-Cache: MISS from chenglinux X-Cache-Lookup: NONE from chenglinux:3128 Via: 1.0 chenglinux (squid/3.1.10) Connection: keep-alive


黑名单

1、要求:不允许访问网易126、皇冠云,其他的允许

2、 在/etc/squid/squid.conf配置文件中的acl CONNECT method CONNECT下添加一下代码:

      

acl http proto HTTP

acl bad_domain dstdomain .126.com .皇冠云.com

http_access deny http bad_domain

http_access allow http !bad_domain  #其实把这一样注释掉也可以


检查配置文件

重置配置文件


3、测试

  1)访问51CTO

[root@mysql ~]# curl -x192.168.21.99:3128 http://ww.皇冠云.com -I HTTP/1.0 403 Forbidden #提示决绝 Server: squid/3.1.10 Mime-Version: 1.0 Date: Mon, 29 Jun 2015 17:43:25 GMT Content-Type: text/html Content-Length: 3264 X-Squid-Error: ERR_ACCESS_DENIED 0 Vary: Accept-Language Content-Language: en X-Cache: MISS from chenglinux X-Cache-Lookup: NONE from chenglinux:3128 Via: 1.0 chenglinux (squid/3.1.10) Connection: keep-alive

  

2)访问jd.comOK

[root@mysql ~]# curl -x192.168.21.99:3128 www.jd.com -I HTTP/1.0 200 OK  Server: JDWS Date: Tue, 30 Jun 2015 08:57:43 GMT Content-Type: text/html; charset=gbk Vary: Accept-Encoding Expires: Tue, 30 Jun 2015 08:58:12 GMT Cache-Control: max-age=120 Age: 24 Content-Length: 160864 X-Cache: MISS from chenglinux X-Cache-Lookup: MISS from chenglinux:3128 Via: BJ-M-YZ-NX-80(HIT), http/1.1 WH-CT-1-JCS-105 ( [cRs f ]), 1.0 chenglinux (squid/3.1.10) Connection: keep-alive

IE浏览器设置代理设置,具体如图:


4)在浏览器测试51CTO提示访问被拒绝

四、反向代理

    1、修改端口

         把之前的http_port 3128修改为:

         http_port 80  accel vhost vport

    2、在刚才的80端口下面添加一下代码:

 

cache_peer 123.125.119.147 parent 80 0 originserver name=a #这里是固定的写法,a表示的是代理的一个域名的简写

cache_peer_domain a www.   #上面的IP地址就是这里域名的IP地址

cache_peer 61.135.169.125 parent 80 0 originserver name=b

cache_peer_domain b www.baidu.com

退出保存

配置文件解释:

cache_peer:为配置后端的服务器及IP端口

name:为后面要配置的域名,和cache_peer_domain相对应

 

  3、检查配置文件

[root@chenglinux ~]# squid -kcheck

 

        重置配置文件

[root@chenglinux ~]# squid -k rec

 

 4、在浏览器中测试

     需要修改的就是在浏览器中把3128端口要改成80端口

1)访问126.com被拒绝

2)访问baidu


5、如果要代理一台主机上的所有域名,需要写成这样:

     cache_peer 192.168.10.111 80 0 originserver

     后面也不需要写cache_peer_domain了

 


           笔记有错误的地方还请大神指正,小白会继续修改 

    你可能想看:

    扫描二维码推送至手机访问。

    版权声明:本文由皇冠云发布,如需转载请注明出处。

    本文链接:https://www.idchg.com/info/24625.html

    分享给朋友:

    “配置squid 代理squid 代理” 的相关文章

    轻松注册RackNerd账号:快速指南与优惠攻略

    RackNerd是一家成立于2017年的国外主机商,专注于为用户提供高质量的虚拟主机、VPS主机、独立服务器和服务器托管等服务。从成立之初,RackNerd就致力于为全球用户提供稳定、高效的主机解决方案,凭借其优质的服务和灵活的配置选项,迅速在行业内赢得了良好的口碑。 RackNerd的服务类型非常...

    选择OneProvider主机服务:全球化布局与灵活方案助力您的网站搭建

    OneProvider是一家来自加拿大的主机服务提供商,致力于为用户提供一系列完整的在线解决方案。在我的经验中,这家公司以其灵活的服务和全球化的布局著称,尤其适合那些有外贸或跨境需求的网站。我经常会看到他们的广告,吸引着那些希望快速搭建网站的用户。 首先,OneProvider提供的服务种类非常丰富...

    探索韩国VPS服务:选择高性能低延迟的虚拟专用服务器

    在数字化迅猛发展的今天,韩国的VPS(虚拟专用服务器)越来越受到用户的青睐。许多企业和个人用户都开始关注这个区域,特别是那些需要稳定网站和应用程序的人。这篇文章将为你深入探讨韩国VPS的市场需求和背景,以及它在不同场景中的适用性。 首先,韩国VPS市场的兴起与其优越的网络基础设施密不可分。韩国位于东...

    Debian 修改 DNS 的详细步骤与常见问题解决方案

    在讨论 Debian 中的 DNS 修改前,我想先和大家分享一些关于 DNS 的基本信息。DNS(Domain Name System)是互联网的“电话簿”,它将我们可读的网站地址(如 www.example.com)转换为计算机能够理解的 IP 地址。这一过程对于我们浏览网页、发送邮件等操作至关重...

    自己搭建网站的全面指南:从目标定位到费用控制

    搭建自己的网站听起来可能有些复杂,但实际上,只要理清思路,完全可以实现。首先,明确你的目标和网站类型是关键的一步。是想建立一个个人博客,还是一个商业网站?这将直接影响你后续的选择和设计。例如,个人博客强调内容,商业网站则需要更多的功能性和用户友好性。所以在开始之前,先问问自己这个网站的核心目的是什么...

    掌握域名优惠,轻松获取注册及续费折扣

    什么是域名优惠? 在网络世界中,域名可以说是你的“家”,而域名优惠则是你入住这个“家”时所获取的折扣或者促销活动。简单来说,域名优惠就是在购买或者续费域名时,所享受到的价格减免。这种优惠通常由域名注册商提供,旨在吸引更多用户注册和使用他们的服务。我们可以看到,域名优惠不仅限于初次注册,也包括后期的续...