返回列表 发帖

CentOS8_Squid反向代理+缓存

图片1.png
2020-7-29 19:39



笺注:
Squid服务器的IP为192.168.168.154
后台服务器的IP为192.168.168.130


Squid服务器的系统版本:
图片2.png
2020-7-29 19:40



安装squid:
[root@centos8 ~]# yum -y install squid

[root@centos8 ~]# squid -v
Squid Cache: Version 4.4


启动squid:
[root@centos8 ~]# systemctl start squid
[root@centos8 ~]# systemctl enable squid






Squid的主配置文件
[root@centos8 ~]# vi /etc/squid/squid.conf

文件开头插入:
http_port 80 vhost vport
接着插入站点信息:(后台站点IP为192.168.168.130,端口为TCP 80
cache_peer 192.168.168.130 parent 80 0 originserver
图片3.png
2020-7-29 19:40



插入: httpd_suppress_version_string on
图片4.png
2020-7-29 19:40



修改: http_access allow all
图片5.png
2020-7-29 19:41



修改: http_port 80
图片6.png
2020-7-29 19:41




保存文件后,重启Squid服务:
[root@centos8 ~]# systemctl restart squid


防火墙配置:
firewall-cmd --zone=public --add-port=80/tcp --permanent
firewall-cmd --reload


关闭SELinux:(默认是开启的,要关闭)
setenforce 0
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config




先确定后台服务器的站点可以正常访问:
图片7.png
2020-7-29 19:41



访问代理服务器的IP就等于服务后台服务器的IP:(也就是说访问代理服务器的Web就等于访问后台服务器的Web)
笺注:后台站点服务器无需为代理服务器做任何额外操作。
图片8.png
2020-7-29 19:42



图片9.png
2020-7-29 19:42











######
此时是代理服务器没有缓存的
图片10.png
2020-7-29 19:42



代理服务器开启缓存功能:
[root@centos8 ~]# vi /etc/squid/squid.conf
http_port 下面插入:

cache_mem 500 MB  # 额外提供给Squid使用的内存,推荐大小为物理内存的1/2或更多。
maximum_object_size 4 MB  # 设置Squid磁盘缓存最大文件,超过4MB的文件不保存到硬盘。
minimum_object_size 0 KB  # 设置Squid磁盘缓存最小文件。
maximum_object_size_in_memory 4096 KB  #  设置Squid内存缓存最大文件,超过4MB的文件不保存到内存。
cache_dir ufs /var/spool/squid 500 16 256  #  自定义Squid的cache存放路径、cache目录容量(不得小于cache_mem)、一级缓存目录数量、二级缓存目录数量。

图片11.png
2020-7-29 19:43




保存文件后,重启squid服务:
[root@centos8 ~]# systemctl restart squid



当客户端访问Squid服务器时,Squid服务器会产生缓存文件
图片12.png
2020-7-29 19:43



图片13.png
2020-7-29 19:43


备注:
/var/spool/squid/ 下的缓存文件是可以删除的,但删除后,必须要重启squid服务!!!
重启squid服务后,代理服务器的代理功能才能正常使用,并且缓存文件会自动重新生成。



笺注:
1、后台站点的对应文件内容没有更新,代理服务器就不用更新缓存,直接把缓存的内容发给客户端;
2、假如后台站点的对应文件内容更新了,代理服务器会重新从后台服务器提取信息给客户端。
3、实验中,后台站点的对应文件内容更新后,客户端可以马上看到新的内容,没有出现更新延迟。














######
假如要想把Squid的访问端口修改为TCP 88

Squid的主配置文件
[root@centos8 ~]# vi /etc/squid/squid.conf

修改:
图片14.png
2020-7-29 19:48



插入:
图片15.png
2020-7-29 19:48



修改:
图片16.png
2020-7-29 19:49





保存文件后,重启squid服务:
[root@centos8 ~]# systemctl restart squid


防火墙配置:
firewall-cmd --zone=public --add-port=88/tcp --permanent
firewall-cmd --reload


效果:(访问代理服务器时,要加上端口号)
图片17.png
2020-7-29 19:49



图片18.png
2020-7-29 19:49


备注:无需去修改后台站点服务器。





相关文章:
CentOS8_Squid反向代理+轮询(一)
Squid反向代理+缓存

返回列表