文章目录
一、缓存代理概述
1.1 Web代理的工作机制
缓存网页对象,减少重复请求
注意:Squid代理服务器和源站服务器之间跑的就是BGP。
1.2 代理的基本类型
- 1.传统代理:需明确指定服务端
- 2.透明代理:客户机不需指定代理服务器的地址和端口,而是通过默认路由、防火墙策略将Web访问重定向给代理服务器处理
(区别在于需不需要客户端自己在浏览器上指定服务端) - 反向代理:如果Squid反向代理服务器中缓存了该请求的资源,则将该请求的资源直接返回给客户端;否则反向代理服务器将向后台的WEB服务器请求资源,然后将请求的应答返回给客户端,同时也将该应答缓存在本地,供下一个请求者使用。
1.3 使用代理的优势
1.提高Web访问速度
2.隐藏客户机的真实IP地址
二、传统代理的搭建
主机 | IP地址 |
---|---|
Squid代理服务器 | 192.168.73.10 |
Web网站服务(源主机) | 192.168.73.20 |
客户机 | 192.168.73.30 |
1.安装依赖环境
yum -y install gcc gcc-c++ make
2.编译安装Squid服务
[root@Squid ~]# tar zxf squid-3.5.23.tar.gz -C /opt
[root@Squid ~]# cd /opt/squid-3.5.23/
[root@Squid squid-3.5.23]# ./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 \ ###支持下划线
> --enable-poll \ ###默认使用poll模式,开启epoll模式时提升性能
> --enable-gnuregex ###支持正则表达式
[root@Squid squid-3.5.23]# make && make install
[root@Squid squid-3.5.23]# ln -s /usr/local/squid/sbin/* /usr/local/sbin
[root@Squid squid-3.5.23]# useradd -M -s /sbin/nologin squid ###创建不可登录的程序用户
[root@Squid squid-3.5.23]# chown -R squid.squid /usr/local/squid/var
3.修改配置文件,优化启动项
[root@Squid ~]# vi /etc/squid.conf
cache_effective_user squid #添加 指定程序用户
cache_effective_group squid #添加 指定账号基本组
[root@Squid ~]# squid -k parse ###检查配置文件语法
[root@Squid ~]# squid -z ###初始化缓存目录
[root@Squid ~]# squid ###启动服务
[root@Squid ~]# netstat -anpt | grep squid
tcp6 0 0 :::3128 :::* LISTEN 104314/(squid-1)
4.添加服务到service管理
[root@Squid ~]# vi /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 &&