Squid是Linux系统中最常用的一款开源代理服务软件,主要提供缓存加速和应用层过滤控制的功能,可以很好的实现HTTP、FTP、DNS查询以及SSL等应用的缓存代理
传统代理:普通的代理服务,多见于Internet环境,必须在客户机的浏览器、QQ聊天工具、下载软件等程序中手动设置代理服务器对的地址和端口,才能使用代理服务器来访问网络。对于网页浏览器,访问网站时的域名解析请求会发送给指定的代理服务器
构建传统代理服务器
基于Internet环境
一台Linux主机(CentOS7 192.168.94.22)作为web服务器,启用httpd服务
一台Linux主机(CentOS7 192.168.94.11)作为Squid服务,允许客户机使用代理
一台Windows(192.168.94.111)主机,指定所使用的代理服务器地址、端口号信息
修改squid.conf配置文件
[root@DaMoWang squid]# vim /etc/squid.conf http_access allow all //允许任意客户机使用代理服务
http_access deny all
http_port
cache_mem MB //指定缓存功能所使用的内存空间大小,便于保持访问较频繁的WEB对象,容量最好为4的倍数,单位为MB,建议设为物理内存的1/4
reply_body_max_size MB //允许用户下载的最大文件大小,以字节为单位。默认设置0表示不进行限制
maximum_object_size KB
开启服务
[root@DaMoWang squid]# systemctl stat squid
客户机的代理设置
Windows客户机的代理配置
Linux客户机的代理配置
[root@DaMoWang squid]# vim /etc/profile
HTTP_PROXY=http://192.168.94.11:3128 # 使用HTTP协议指定代理
HTTPS_PROXY=http://192.168.94.11:3128 # 使用HTTPS协议指定代理
FTP_PROXY=http://192.168.94.11:3128 # 使用FTP协议指定代理
NO_PROXY=192.168..,192.168.. # 对两个局域网段指定代理
export HTTP_PROXY HTTPS_PROXY FTP_PROXY NO_PROXY
[root@DaMoWang squid]# source /etc/profile
Web服务器
[root@DaMoWang ~]# echo "<h1>Squid-Web1</h1>" > /var/www/html/index.html
测试
查看squid服务器日志
查看Web服务器日志
当客户机使用代理后,web服务器并不知道客户机的真实ip,实际上是由代理服务器访问