squid代理(一)--传统代理

Web代理的工作机制
缓存网页对象,减少重复请求

代理的基本类型
传统代理:适用于Internet,客户端上网需明确指定服务端IP以及端代理口
透明代理:适用于共享上网网关,客户端上网不需指定服务端IP以及端代理口

使用代理的好处
提高Web访问速度
隐藏客户机的真实IP地址

编译安装squid
centos7服务器一枚
准备好squid-3.5.23.tar.gz源码包
[[email protected] ~]# tar -zxf squid-3.5.23.tar.gz
[[email protected] ~]# cd squid-3.5.23/
[[email protected] squid-3.5.23]# ./configure --prefix=/usr/local/squid --sysconfdir=/etc --enable-linux-netfilter --enable-async-io=240 --enable-default-err-language=Simplify_Chinese --disable-poll --enable-epoll --enable-gnuregex
--prefix= ##安装位置
--sysconfdir= ##单独将配置文件修改到其他目录
--enable-linux-netfilter ##使用内核过滤
--enable-async-io=值 ##异步I/O,提升存储性能
--enable-default-err-language=Simplify_Chinese ##错误信息的显示语言
--disable-poll与--enable-epoll ##关闭默认使用poll模式,开启epoll模式提升性能
--enable-gnuregex ##使用GNU正则表达式

[[email protected] squid-3.5.23]# make && make install ##编译安装

安装完后创建连接文件,创建用户和组
[[email protected] squid-3.5.23]# ln -s /usr/local/squid/sbin/* /usr/local/sbin/ ##软连接ln -s [源文件或目录] [目标文件或目录]
[[email protected] squid-3.5.23]# useradd -M -s /sbin/nologin squid ##创建squid用户,并且不允许登陆系统
[[email protected] squid-3.5.23]# chown -R squid:squid /usr/local/squid/var/ ##指定文件的拥有者改为指定的用户或组

squid的配置文件
[[email protected] squid-3.5.23]# vi /etc/squid.conf ##在coredump_dir /usr/local/squid/var/cache/squid上边添加一下两条配置
http_port 3128 ##默认自带(用来指定代理的监听端口)
cache_effective_user squid ##指定squid程序用户,用来设置初始化,运行时缓存的账号,否则启动不成功
cache_effective_group squid
:wq
[[email protected] squid-3.5.23]# squid -k parse ##检查配置文件是否正确

启动、停止squid
[[email protected] ~]# squid -z ##-z选项用来初始化缓存目录
[[email protected] ~]# squid ##启动squid服务
[[email protected] ~]# netstat -anpt |grep squid ##监听3128端口是否开启
tcp6 0 0 :::3128 :::* LISTEN 82716/(squid-1)

编辑squid服务脚本
[[email protected] ~]# vi /etc/init.d/squid
#!/bin/bash
chkconfig: 2345 90 25
Squid Server Scrip

PID="/usr/local/squid/var/run/squid.pid "
CONF="/etc/squid.conf"
CMD="/usr/local/squid/sbin/squid"

case "$1" in
start)
netstat -anpt | grep squid &>/dev/null
if [ $? -eq 0 ]
then
echo "Squid正在运行"
else
$CMD
fi
;;
stop)
kill -9 cat $PID &> /dev/null
rm -rf $PID &>/dev/null
;;
status)
[ -f $PID ] &> /dev/null
if [ $? -eq 0 ]
then
echo "squid正在运行...."
else
echo "squid未启动"
fi
;;
restart)
$0 stop
$0 start
;;
reload)
$CMD -k reconfigure
;;
check)
$CMD -k parse
;;
)
echo "请输入正确参数{start|stop|reload|restart|check|status}"
;;
esac
:wq
[[email protected] ~]# chmod +x /etc/init.d/squid ##添加执行权限
[[email protected] ~]# chkconfig --add squid ##添加为系统服务
[[email protected] ~]# systemctl restart squid ##重启测试脚本
[[email protected] ~]# netstat -anpt |grep squid
tcp6 0 0 :::3128 :::
LISTEN 82942/(squid-1)

传统代理
squid服务器的配置:添加如下配置
[[email protected] ~]# vim /etc/squid.conf
http_access allow all ##表示允许任意客户机使用代理,放在http_access deny all之前
reply_body_max_size 10 MB ##表示允许下载的最大文件大小(10MB)
:wq

重启squid服务
[[email protected] ~]# systemctl restart squid

[[email protected] ~]# squid -k reconfigure

验证代理
在Windows中设置代理
打开IE浏览器-->工具-->Intelnet选项-->连接-->局域网设置-->"勾上"代理服务器的勾-->地址中写代理服务器的IP,
端口中写"3128"-->确定,访问百度即可

在Linux中设置代理,需要通过环境变量来制定代理服务器的地址、端口
[[email protected] ~]# vi /etc/profile ##配置文件中添加一下内容
HTTP_PROXY=http://192.168.10.30:3128 ##http协议
HTTPS_PROXY=http://192.168.10.30:3128 ##https协议
FTP_PROXY=http://192.168.10.30:3128 ##ftp协议
NO_PROXY=192.168.1.,192.168.2. ##对这两个局域网网段不适用代理
export HTTP_PROXY HTTPS_PROXY FTP_PROXY NO_PROXY

[[email protected] ~]# source /etc/profile ##刷新配置文件

代理服务器验证方法
1、chakansquid访问日志的新增记录
[[email protected] ~]# tail -f /usr/local/squid/var/logs/access.log
1536938536.649 3 192.168.10.100 TCP_MISS/404 525 GET http://192.168.10.40/noindex/css/fonts/L
ightItalic/OpenSans-LightItalic.eot? - HIER_DIRECT/192.168.10.40 text/html

2、查看被访问端的web访问日志的新增记录
[[email protected] ~]# tail -f /var/log/httpd/access_log
192.168.10.30 - - [14/Sep/2018:23:22:17 +0800] "GET /noindex/css/fonts/Light/OpenSans-Light.eot? HT
TP/1.1" 404 240 "http://192.168.10.40/" "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; T
rident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0;
InfoPath.2)"

原文地址:http://blog.51cto.com/liuliheng/2175439

时间: 2024-10-14 07:11:02

squid代理(一)--传统代理的相关文章

squid代理(传统代理)

squid代理服务器 Squid是linux系统中常用的一款开源代理服务软件,可以很好地实现HTTP和FTP ,以及DNS查询,SSL等应用的缓存代理,功能十分强大 作为应用层的代理服务器软件,Squid主要提供缓存加速,应用层过滤控制的功能 1 代理的工作机制 {1}当客户机通过代理来请求Web页面时, {2}指定的代理服务器会检查自己的缓存, {3}如果缓存中已经有客户机需要的页面, {4}则直接将缓存中的内容反馈给客户机, {5}如果缓存中没有客户机要访问的页面, {6}则由代理服务器向l

构建Squid代理服务器-传统代理、透明代理、反向代理

Squid是Linux系统中最常用的一款开源代理服务软件,主要提供缓存加速和应用层过滤控制的功能,可以很好的实现HTTP.FTP.DNS查询以及SSL等应用的缓存代理. 正向代理:根据实现的方式不同,代理服务可分为传统代理和透明代理. 传统代理:普通的代理服务,多见于Internet环境,必须在客户机的浏览器.QQ聊天工具.下载软件等程序中手动设置代理服务器对的地址和端口,才能使用代理服务器来访问网络.对于网页浏览器,访问网站时的域名解析请求会发送给指定的代理服务器. 透明代理:提供与传统代理相

Squid传统代理与透明代理构建

一.缓存代理概述 1.缓存代理概述 作为应用层的代理服务软件,Squid主要提供缓存加速和应用层过滤控制的功能. 2.代理的工作机制 当客户机通过代理来请求Web页面时,指定的代理服务器会检查自己的缓存,如果缓存中已经存在客户机需要访问的页面,则之间将缓存中的页面内容反馈给客户机:若代理服务器中的缓存中没有客户机需要访问的页面,则由代理服务器向Internet发送访问请求,再将获得的页面数据保存到缓存中,并发送给客户机. 二.手工编译安装squid 1.解压缩squid安装文件到/opt tar

利用Squid构建传统代理及透明代理

关于Squid的简介及安装部署过程可以参考博文:Squid代理服务器安装及部署 传统代理的实现最为简单,透明代理还需要结合默认默认路由.防火墙策略等一起来完成. 构建传统代理 使用传统代理的特点在于:客户机的相关程序(如IE浏览器.QQ聊天软件)必须指定代理服务器的地址.端口等基本信息. 案例环境 案例实施步骤大致分为: 1.Squid服务器的配置: 2.客户机的代理设置: 3.验证代理服务器. 案例实施 关于搭建Web服务器可以参考博文:CentOS 7 利用Apache搭建Web网站服务 如

Squid介绍及透明代理完整部署

Squid 缓存服务 1.缓存服务器结束 缓存服务器(cache server),即用来存储(介质为内存及硬盘)用户访问的网页.图片.文件等等信息的专用服务器,这种服务器不仅可以使用户可以最快的得到他们想要的信息,而且可以大大减少服务端网络传输的数据量,缓存服务器往往也是代理服务器,对于网站的用户来说,缓存服务器和代理是不可见的,即在用户看来所有的网站信息都是来自其正在访问的网站,而实际上可能是缓存服务器在提供访问数据 目前国内互联网公司常用的缓存服务器有:squid.varnish.nginx

构建Squid传统代理及透明代理

什么是Squid Squid是一种用来缓冲Internet数据的软件.它是这样实现其功能的,接受来自人们需要下载的目标(object)的请求并适当地处理这些请求.也就是说,如果一个人想下载一web页面,他请求Squid为他取得这个页面.Squid随之连接到远程服务器(比如:http://squid.nlanr.net/) 并向这个页面发出请求.然后,Squid显式地聚集数据到客户端机器,而且同时复制一份.当下一次有人需要同一页面时,Squid可以简单地从磁盘中读到它,那样数据迅即就会传输到客户机

squid缓存服务器 ACL访问控制 传统代理 透明代理 squid日志分析 反向代理

缓存代理概述 Squid提供了强大的代理控制机制,通过合理的设置ACL,并进行限制,可以针对源地址.目标地址.访问的URL路径.访问的时间等条件进行过滤.作为应用层的代理服务器软件,Sqiod主要提供了缓存加速和引用层过滤控制能力 代理的工作机制 当客户机通过代理来请求 Web 页面时,指定的代理服务器,会先检查自己的缓存如果缓存中已经有客户机需要访问的页面,则直接将缓存中的页面内容反馈给客户机:如果缓存中没有客户机需要访问的页面,则用代理服务器向Internet 发送访问请求. 由于客户机的W

squid传统代理的另一形式----透明代理

构建透明代理 安装squid支持透明模式 squid透明代理本属于squid标准传统代理的一部分,本文特意将透明代理单独写出,是因为yum安装的版本中没有支持透明模式的模块. 因此,支持透明代理的模块需要在手动编译安装时加入. tar zxvf squid-3.4.6.tar.gz -C /opt/ cd /opt/squid-3.4.6 ./configure --prefix=/usr/local/squid --sysconfdir=/etc --enable-arp-acl \ //可以

【实战】Squid 缓存服务器 之 传统代理 + 透明代理

目录: 1· Squid代理的概述原理2· 代理的基本类型3· Squid 服务脚本4· 构建代理服务器(传统代理.透明代理)5· 总结 Squid代理的概述原理 1)代理的工作机制 1.什么是 Squid ? Squid是一个高性能的代理缓存服务器,Squid支持FTP.gopher.HTTPS和HTTP协议.和一般的代理缓存软件不同,Squid用一个单独的.非模块化的.I/O驱动的进程来处理所有的客户端请求. 2·缓存的工作原理 squid 是工作在应用层的代理服务软件,squid 主要提供