SQUID传统正向代理

传统正向代理

1.1 问题

本案例要求先快速搭建好一台Web服务器:

  • 建立Web测试文件 /var/www/html/index.html

然后创建代理服务器,使得192.168.4.0/24网段中的所有主机,均可以通过该代理服务器访问Web服务。

  • 设置代理服务端口为3128
  • 设置内存缓存容量128M
  • 设置硬盘缓存容量为200M,一级目录16个,二级目录128个

然后验证客户机能否通过代理服务器访问Web服务器:

  • 客户端从浏览器访问Web服务器
  • 查看服务器B的代理访问日志,验证来访地址
  • 查看服务器A的Web访问日志,验证来访地址

1.2 方案

使用3台RHEL6虚拟机,其中一台作为Web服务器(192.168.4.205)、一台作为Squid代理服务器(192.168.4.5),另外一台作为测试用的Linux客户机(192.168.4.100),如图-1所示。

图-1

对于Web服务器的部署,此实验中仅需要安装httpd软件、启动服务,并生产测试首页文件即可,默认httpd网站根路径为/var/www/html,首页文档名称为index.html。

对于Squid代理服务器,则要求修改配置文件/etc/squid/squid.conf,实现代理功能,主要参数如下:

  • http_port:设置代理服务端口
  • visible_hostname:设置主机名称
  • cache_mem:设置内存缓存大小
  • cache_dir:设置硬盘缓存大小
  • http_access:设置访问控制权限

验证时,客户端需要设置浏览器,添加代理服务器信息,将192.168.4.5设置为自己的代理服务器,然后访问Web服务器,最后通过查看日志检验效果。:

  • squid默认访问日志:/var/log/squid/access.log
  • httpd默认访问日志:/var/log/httpd/access_log

1.3 步骤

实现此案例需要按照如下步骤进行。

步骤一:构建web服务器

1)使用yum安装web软件包

  1. [ro[email protected] ~]# yum  -y  install  httpd
  2. .. ..
  3. [[email protected] ~]# rpm  -q  httpd
  4. httpd-2.2.15-29.el6_4.x86_64

2)启用httpd服务,并设为开机自动运行

  1. [[email protected] ~]# service  httpd  restart  ;  chkconfig  httpd  on
  2. Stopping httpd:                                        [FAILED]
  3. Starting httpd:                                        [OK]

httpd服务默认通过TCP 80端口监听客户端请求:

  1. [[email protected] ~]# netstat  -anptu  |  grep httpd
  2. tcp        0        0        :::80        :::*        LISTEN        2813/httpd

3)为Web访问建立测试文件

在网站根目录/var/www/html下创建一个名为index.html的首页文件:

  1. [email protected] ~]# cat /var/www/html/index.html
  2. <html>
  3. <title>Welcome</title>
  4. <body>
  5. <h1>hello</h1>
  6. <h2>hello</h2>
  7. </body>
  8. </html>

步骤二:部署Squid代理服务器

1)使用yum安装squid软件包:

  1. [[email protected] ~]# yum  -y  install  squid
  2. .. ..
  3. [[email protected] ~]# rpm  -q  squid
  4. squid-3.1.10-19.el6_4.x86_64

2)修改/etc/squid/squid.conf配置文件:

  1. [[email protected] ~]# vim /etc/squid/squid.conf
  2. .. ..
  3. http_port 3128                                //代理端口
  4. visible_hostname squid.svr5.com                //设置主机名
  5. cache_mem 128 MB                                //内存缓存
  6. cache_dir ufs /var/spool/squid 200 16 128        //硬盘缓存
  7. http_access allow localnet                        //允许本机所在网络中的所有主机使用代理服务器

3)启动squid服务,并设置为开机启动:

  1. [[email protected] ~]# service  squid restart; chkconfing squid on
  2. Stopping squid:                                            [FAILED]
  3. init_cache_dir /var/spool/squid...
  4. Starting squid: .                                          [  OK  ]

4)squid服务默认通过TCP 3128端口监听客户端请求:

  1. [[email protected] ~]# netstat  -anptu  |  grep 3128
  2. tcp        0        0        :::3128        :::*        LISTEN        3213/(squid)

步骤三:客户端测试

1)为浏览器设置代理服务器

以Firefox浏览器为例,在命令行输入firefox打开火狐浏览器,点击“Edit(编辑)”菜单,选择“Preferences(属性)”,如图-2所示。

图-2

随后再点击“Advanced(高级)“选项卡,找到”Network(网络)“选项卡,点击”Settings(设置)“按钮,如图-3所示。

图-3

点选”Manual Proxy Configuration“,在HTTP Proxy后输入代理服务器IP地址:192.168.4.5,并在Port后输入3128端口号信息,如图-4所示。

图-4

2)客户端使用浏览器访问Web服务器

打开火狐浏览器在地址栏输入http://192.168.4.205,回车查看Web服务器页面信息。

3)通过日志文件查看效果

通过查看Squid代理服务器主机的access.log日志,可以查出有一个客户端地址为192.168.4.100的主机,通过代理服务器连接192.168.4.205上的Web服务器。

通过查看Web服务器上的access_log日志,可以看出代理192.168.4.5在访问Web服务器,而不会显示真实的客户端192.168.4.100的信息

  1. [[email protected] ~]# tailf /var/log/squid/access.log
  2. 1429584868.414      0 192.168.4.100 TCP_MEM_HIT/200 486 GET http://192.168.4.205/ - NONE/- text/html
  3. [[email protected] ~]# tailf /var/log/httpd/access_log
  4. 192.168.4.5 - - [20/Apr/2015:19:54:28 -0700] "GET /favicon.ico HTTP/1.1" 404 291 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20131023 Firefox/17.0"
时间: 2024-10-15 17:53:18

SQUID传统正向代理的相关文章

实践出真知——基于squid实现正向代理实践

实践出真知--基于squid实现正向代理实践 前言 ? 俗话说得好:时间是治愈一切伤口的良药,实践是检验真理的唯一标准!本文将结合代理服务器的基本原理,进行基于squid软件实现传统(标准)代理(正向代理)以及透明代理的实例演示. 先说说squid是个啥 ? 避(kai)免(ge)被(wan)喷(xiao),还是介绍一下什么是squid吧. squid的概念 ? squid是一种用来缓存Internet数据的软件.用于接受来自客户端需要下载对象(object)的请求并适当的处理这些请求.也就是说

Linux与云计算——第二阶段 第一十一章:代理Proxy服务器架设—Squid代理服务器正向代理和客户端配置

Linux与云计算--第二阶段Linux服务器架设 第一十一章:代理Proxy服务器架设-Squid代理服务器正向代理和客户端配置 安装Squid 安装Squid来配置代理服务器. [1] 这是一个通用的转发代理配置 [[email protected] ~]# yum -y install squid [[email protected] ~]# vi /etc/squid/squid.conf # line 26: 添加一条新的ACL acl lan src 192.168.96.0/24

squid的正向代理和反向代理

squid:可以实功能.做翻墙~代理 可以实现代理也可以设置缓存 安装 :yum -y install squid 配置文件:vim /etc/squid/squid.conf cache_dir  缓存目录 必须打开(在下面添加) cache_mem 28MB 启用一点内存 缓存对象refresh_pattern \.(jpg|png|gif|js|css|MP3|MP4) 1440 20% 2880 ignore-reload(忽略重新加载) visible=hostname 定义hostn

squid配置 正向代理

什么是squidsquid可以做代理也可以做缓存squid缓存不仅可以节省宝贵的带宽资源,也可以大大降低服务器的I/O. squid不仅可以做正向代理,又可以做反向代理. 搭建squid正向代理官方网站为 http://www.squid-cache.org/ yum install -y squidsquid -v 查看版本以及编译参数 /etc/squid/squid.confvim /etc/squid/squid.conf加入如下配置http_port 3128acl manager p

Centos7使用squid实现正向代理

正向代理:代理服务器帮助客户端(浏览器)实现互联网的访问 (1)代理服务器配置 1.安装squid yum install squid -y 2.编辑squid配置文件 #vim /etc/squid/squid.conf acl local src 192.9.191.0/24 //允许192.9.191.0/24网段内所有客户机访问代理服务器 http_access allow localnet //该记录一定要添在deny all之前 http_port 3128 3.防火墙配置 syst

centos7 下 apache nginx squid https正向代理

apache yum install httpd mod_ssl -y vim /etc/httpd/conf.d/ssl.conf Listen 443 https <VirtualHost *:443> ServerName example.com SSLEngine on SSLCertificateFile /cert/server.crt SSLCertificateKeyFile /cert/server.key ProxyRequests On ProxyVia On <P

centos7 安装配置 squid作为正向代理

安装 yum install squid -y 配置 配置文件 /etc/squid/squid.conf 1.无认证配置 cache_mem 64 MB                                                       缓存和日志设置maximum_object_size 4 MBcache_dir ufs /var/spool/squid 100 16 256access_log /var/log/squid/access.log 2.带用户认证的配

squid正向代理和反向代理服务器搭建

squid是比较知名的代理软件,它不仅可以跑在Linux上还可以跑在Windows和UNIX上,它的技术已经非常成熟.目前使用squid的用户也十分广泛.squid与Linux下其他的代理软件如Apache.socks.TIS FWTK等相比,下载安装简单,配置简单灵活,支持缓存和多种协议. squid之所以用的很多,是因为它的的缓存功能,squid的缓存不仅可以节省宝贵的带宽资源,也可以大大降低服务器的I/O.从经济角度考虑,它是很多网站架构中不可或缺的角色. squid可以做正向代理,也可以

Squid做反向代理缓存

环境介绍: 主机名 角色 IP地址 squid.contoso.com squid代理服务器 192.168.49.135 image01.contoso.com 图片服务器(web) 192.168.49.139 一.准备工作 以其中一台为例: [[email protected] etc]# iptables -L Chain INPUT (policy ACCEPT) target     prot opt source               destination Chain FO