Squid代理服务器应用(走过路过不要错过,来看一看)

一、缓存代理概述

1、Web代理工作机制

在这里插入图片描述

代替客户机向网站请求数据,从而可以隐藏客户端真实的IP地址

缓存网页对象,减少重复请求

2、代理的基本类型

传统代理:适用于Internet,需要明确指定服务端

透明代理:客户机不需要指定代理服务器的地址和端口,而是通过默认路由、防火墙策略将Web访问重定向给代理服务器处理

3、代理服务器的概念及其作用:

代理服务器是一个位于客户端和原始(资源)服务器之间的服务器,为了原始服务器取得内容,客户端向代理服务器发送一个请求并指定目标原始服务器,然后代理服务器向原始服器转交请求并获得的内容返回给客户端

资源获取:代替客户端实现从原始服务器的资源获取
加速访问:代理服务器可能离原始服务器更近,从而起到
缓存作用:代理服务器保存在原始服务器获取的资源,从而实现客户端快速的获取
隐藏真实地址:代理服务器代替客户端去获取原始服务器资源,从而隐藏客户端真实信息

4、使用代理的好处

提高Web访问的速度

隐藏客户机的真实IP地址

二、squid代理服务器

1、squid代理的类型

⚪传统类型:适用于Internet,需要客户机指定代理服务器的地址和端口
⚪透明代理:客户机不需要指定代理服务器的地址和端口,而是通过默认路由、防火墙策略将Web访问重定向给代理服务器处理
⚪反向代理:如果squid反向代理服务器中缓存了该请求的资源,则将该请求直接返回给客户端;否则反向代理服务器将后台的web服务器请求资源,然后将请求的应答返回给客户端,同时也将该应答缓存在本地,供下一个请求者使用

2、安装Squid服务

①编译安装squid

 yum -y install gcc gcc-c++ make
安装所需依赖包
tar zxvf squid-3.5.28.tar.gz -C /opt
解压squid包到指定目录下
cd /optsquid-3.5.28/
切换到此目录进行编译
./configure --prefix=/usr/local/squid \       指定安装路径
--sysconfdir=/etc \                           指定配置文件路径
--enable-arp-acl \                            MAC地址管控,防止客户端使用IP欺骗
--enable-linux-netfilter \                    使用内核过滤
--enable-linux-tproxy \                       支持透明模式
--enable-async-io=100 \                       异步IO,提升存储性能
--enable-err-language="Simplify_Chinese" \    错误信息的显示语言
--enable-underscore \                         允许URL中有下划线
--disable-poll \                              关闭默认使用poll模式
--enable-epoll \                              开启epoll模式提升性能
--enable-gnuregex                             使用GNU正则表达式

make && make install 进行编译安装在这里插入图片描述
编译安装完成
在这里插入图片描述

ln -s /usr/local/squid/sbin/* /usr/local/sbin/
做个软连接让系统直接识辨
useradd -M -s /sbin/nologin squid
创建一个用户叫squid

在这里插入图片描述

②修改squid的配置文件

vim /etc/squid.conf
在56行插入
http_access allow all
允许任意客户机使用代理服务,一定在http_access deny all之前
http_port 3128
用来指定代理服务器监听的地址和端口
61行插入
cache_effective_user squid   添加指定程序用户,用来设置初始化、运行时缓存的账号,否则启动不成功
cache_effective_group squid  添加指定账号基本组
coredump_dir /usr/local/squid/var/cache/squid   指定缓存文件目录

在这里插入图片描述

修改cd /usr/local/squid/下squid的用户
chown -R squid:squid var

在这里插入图片描述

③squid的运行控制
#检查配置文件语法是否正确

squid -k parse

这样就是正确的
在这里插入图片描述启动squid,第一次启动服务时,会自动初始化缓存目录squid -z

在这里插入图片描述
启动下服务
在这里插入图片描述
查看下服务端口状态netstat -antp | grep squid
在这里插入图片描述

④创建squid服务脚本
在/etc/init.d/目录下创建一个squid可执行文件,编写脚本

在这里插入图片描述

#!/bin/bash
#chkconfig: 2345 90 25
PID="/usr/local/squid/var/run/squid.pid"
CONF="/etc/squid.conf"
CMD="/usr/local/squid/sbin/squid"

case "$1" in
   start)
     netstat -natp | grep squid &> /dev/null
     if [ $? -eq 0 ]
     then
       echo "squid is running"
     else
       echo "正在启动 squid..."
       $CMD
     fi
   ;;
   stop)
     $CMD -k kill &> /dev/null
     rm -rf 
  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值