普通代理:需要客户机在浏览器中指定代理服务器的地址、端口; 透明代理:适用于企业的网关主机(共享接入Internet)中,客户机不需要指定代理服务器地址、端口等信息,代理服务器需要设置防火墙策略将客户机的Web访问数据转交给代理服务程序处理;
特点:
是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为一个服务器。
系统:centos7 防火墙:关闭(SELinux、firewalld) http:关闭 官网:http://www.squid-cache.org/ 配置方法:http://www.squid-cache.org/Doc/config/
安装与配置:
[root@adailinux ~]# yum install -y squid
已安装:
squid.x86_64 7:3.5.20-10.el7
squid配置文件:
[root@adailinux ~]# vim /etc/squid/squid.conf
cache_dir ufs /var/spool/squid 100 16 256
##开启缓存目录
cache_mem 54 MB
##开启内存,将内存作为缓存空间,加快访问速度
refresh_pattern \.(jpd|png|gif|js|css|mp3|mp4) 1440 20% 2880 ignore-reload
##缓存对象设置(忽略重新加载)
visible_hostname adailinux.com
##用户可以看到的代理服务器名称
启动:
[root@adailinux ~]# systemctl start squid.service
[root@adailinux ~]# netstat -lntp|grep squid
tcp6 0 0 :::3128 :::* LISTEN 6849/(squid-1)
日志文件:
[root@adailinux ~]# ls /var/log/squid/
access.log cache.log squid.out
##cache.log:启动日志文件
##access.log:访问日志文件
[root@adailinux ~]# vim /etc/squid/squid.conf
acl http proto HTTP
#指定协议
acl good_domain dstdomain .adaiokay.net .adai.com .baidu.com
#指定访问地址白名单
#dstdomain:指定该控制所对应的动作行为
http_access allow good_domain
#开放白名单中的域名
http_access deny !good_domain
#拒绝掉good_domain之外的域名
检查squid配置文件:
[root@adailinux ~]# squid -kcheck
#如果配置没问题,那么没有输出信息
#squid命令参数:-k reconfigure | rotate | shutdown | interrupt | kill | debug | check | parse
重新加载配置:
[root@adailinux ~]# squid -kreconfigure
设置访问域名黑名单:
acl http proto HTTP
#指定协议
acl bad_domain dstdomain www.qq.com
#指定黑名单
http_access deny bad_domain
#拒绝访问黑名单中的域名
http_access allow !bad_domain
#放行黑名单之外的域名
进行该配置前需要将正向代理的配置注销!
[root@adailinux ~]# vim /etc/squid/squid.conf
http_port 80 accel vhost vport
#使其代理服务器的端口,并开启主机和端口
cache_peer 61.135.169.121 parent 80 0 originserver name=a
#代理百度:指定其源IP,端口
cache_peer_domain a www.baidu.com
#指定代理的域名(即,被代理的IP所对应的域名)
检查配置:
[root@adailinux ~]# squid -kcheck
重载配置:
[root@adailinux ~]# squid -krec
###squid命令的参数可简写
[root@adailinux ~]# netstat -lntp |grep squid
tcp6 0 0 :::80 :::* LISTEN 8495/(squid-1)
[root@adailinux ~]# curl -x127.0.0.1:80 www.baidu.com -I
HTTP/1.1 200 OK
##即,可以访问baidu
[root@adailinux ~]# curl -x127.0.0.1:80 www.aminglinux.com -I
HTTP/1.1 500 Internal Server Error
[root@adailinux ~]# curl -x127.0.0.1:80 www.qq.com -I
HTTP/1.1 500 Internal Server Error
##即,无法访问百度之外的域名
反向代理配置成功!
(adsbygoogle = window.adsbygoogle || []).push({});