squid代理服务器应用

1. squid代理服务器概述

1.1 squid简介

squid是一个支持http、https、ftp等服务的web缓存代理软件,通过缓存页面实现降低宽带占用提高页面响应时间。另外,squid提供访问控制,squid的缓存页面存放在内存和硬盘中,在选择服务器时候内存和硬盘要求高,对于数据过期更新,需要不定期的清理缓存的数据。

1.2. squid 代码请求流程

1 客户端访问squid代理服务器

2 代理服务器代表客户端访问后端真实服务器

3 真实服务器把数据返回给squid代理服务器

4 代理服务器把响应数据发送给客户端,并把页面缓存在本地的内存及磁盘中

5 客户端再次请求相同数据时,代理服务器直接将缓存的数据返回给客户端

1.3 squid代理服务类型

一般分三种类型,正向代理服务器、透明代理服务器、反向代理服务器。

正向代理:主要应用于内部网络访问外部网络时缓存页面数据,提供统一网络接口链接到外网,所有的内网客户端无需配置外网ip即可通过squid上网,在这种模式下,squid主要负责提供缓存加速及访问控制的功能

透明代理:与正向代理类似,不需要终端用户进行特殊设置,需要结合网关部署,所有操作均由管理员在网关服务器和代理服务器进行设置,这些对于用户透明的。

反向代理:反向代理结合智能DNS可以实现基本的CDN框架,此时的squid代理服务器可以直接代表后端真实服务器提供页面访问,用户并感觉不到自己是在访问代理服务器,有利于减轻真实服务器压力,提高并发和响应速度。

2. 实验

2.1 案例环境

node1 20.0.0.15
node2 20.0.0.16
squid 20.0.0.14
要求:客户机访问web服务器,通过代理服务器squid访问,不直接访问web服务器

2.2 传统代理

安装squid服务

[root@localhost ~]# hostnamectl set-hostname squid  ##改主机名
[root@localhost ~]# su
[root@localhost ~]# tar zxvf squid-3.4.6.tar.gz -C /opt   ###解压软件包
[root@localhost ~]#cd /opt/
[root@opt~]#cd squid-3.4.6/
[root@opt~]#yum -y install gcc gcc-c++ make  ##下载编译器
[root@squid squid-3.4.6]# ./configure \
--prefix=/usr/local/squid \    ###安装目录
--sysconfdir=/etc \    ###配置位置存在目录
--enable-arp-acl \    ###启用acl访问控制列表
--enable-linux-netfilter \    ###内核过滤
--enable-linux-tproxy \      ###支持透明代理
--enable-async-io=100 \   ###io的优化
--enable-err-language="Simplify_Chinese" \   ##支持语言,报错提示简体中文
--enable-underscore \   ##url支持下划线
--enable-poll \    ###一个函数    字符设备驱动函数
--enable-gnuregex   ##支持正则表达式

[root@squid squid-3.4.6]# make -j4 && make install		###编译并安装
[root@squid squid-3.4.6]# ln -s  /usr/local/squid/sbin/* /usr/local/sbin/	   ###让可用命令让系统所能识别
[root@squid squid-3.4.6]# useradd -M -s /sbin/nologin squid		###建立一个程序性用户
[root@squid squid-3.4.6]# chown -R squid.squid /usr/local/squid/var/	###给用户一个权限
[root@squid squid-3.4.6]# vim /etc/squid.conf		###改主配置文件
#http_access deny all  	###默认拒绝所有,注销掉,或者放下面,从上往下读,不会拒绝掉
http_access  allow all	###加上这条allow,允许所有终端来访问,并且可用访问其他的源端服务器
	
http_port 3128
cache_effective_user squid		###在端口下面加上缓存管理用户
cache_effective_group squid		###在端口下面加上缓存管理组


[root@squid squid-3.4.6]# squid -k parse		###检查配置文件语法
[root@squid squid-3.4.6]# squid -z		###初始化缓存目录
[root@squid squid-3.4.6]# squid 		###启动服务

[root@squid squid-3.4.6]# netstat -anpt | grep 3128    ###可用查看一下启动了

root@squid squid-3.4.6]# cd /etc/init.d/
#!/bin/bash
#chkconfig: 2345 90 25
PID="/usr/local/squid/var/run/squid.pid"   ##PID文件进程号
CONF="/etc/squid.conf"   ##主配置文件
CMD="/usr/local/squid/sbin/squid"   ##启动命令
[root@squid init.d]# vim squid
case "$1" in
start)
                netstat -ntap | grep squid &> /dev/null
                if [ $? -eq 0 ]
                then 
                 echo "squid is running"
                 else
                 echo "正在启动 squid...." 
                 $CMD
                fi
                ;;
stop)
                $CMD -k kill &> /dev/null   ##关闭squid
                rm -rf $PID &> /dev/null    ##删除PID文件
                ;;
status)
                [ -f $PID ] &> /dev/null
                 if [ $? -eq 0 ]
                                then
                                 netstat -ntap | 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值