为公网用户做加速访问
1)实验拓扑
2)web服务器配置
参考传统模式中的web服务器配置,这里不再重复记录操作。
网关需要指向squid服务器的内网ip
echo "GATEWAY=10.10.10.13" >> /etc/sysconfig/network-scripts/ifcfg-ens33
3)安装squid服务
安装步骤这里不再赘述,参考传统模式中的安装步骤。
(1)开启路由转发模式
vim /etc/sysctl.conf
net.ipv4.ip_forward = 1 #开启路由转发
#立即生效
sysctl -p
(2)修改配置文件
vim /etc/squid/squid.conf
http_port 20.20.20.13:80 vhost #监听该地址的80端口,并设置为虚拟主机模式
cache_peer 10.10.10.11 parent 80 0 originserver round-robin #这行配置表示将一个缓存服务器配置为代理服务器的上游服务器。10.10.10.11是缓存服务器的IP地址,parent 80表示使用80端口连接到上游服务器。0是服务器的缓存级别,originserver表示上游服务器是源服务器而不是另一个缓存服务器。round-robin表示使用轮询的方式在多个缓存服务器之间分发请求。
cache_peer 10.10.10.12 parent 80 0 originserver round-robin
(3)在acl中放行公网IP
将公网网段写入squid配置文件中
vim /etc/squid/squid.conf
acl gw_web src 20.20.20.0/24 #acl后跟的是自定义名称。
#放行策略
http_access allow gw_web
#重新加载配置文件
service squid reload
(4)重启服务再次访问查看
4)acl参数解释
src 源地址
dst 目标地址
port 目标端口
dstdomain 目标域
time 访问时间
maxconn 最大并发连接
url_regex 目标URL地址
Urlpath_regex 整个目标URL路径
(1)acl易犯错误
如果在配置文件中定义的放行策略为deny localhost,则会拒绝自定义规则。
http_access deny localhost #拒绝本地访问
如果在配置文件中定义的策略为allow localhost,则放行自定义规则。
http_access allow localhost #允许本地访问
`注:如果出现访问被拒绝的情况请检查以上两项是否配置错误