网站服务器
HTTP响应状态码
HTTP服务器
HTTP开启SSL及鉴权
HTTP虚拟主机服务
NGINX服务器
NGINX开启SSL及鉴权
NGINX虚拟主机服务
NGINX代理与缓存功能
NGINX 重写规则
重新编译NGINX
NGINX安全加固
正向代理(HTTP)
Nginx服务器配置
SQUID缓存服务器
SQUID正向代理
SQUID透明代理
SQUID问题
本文档使用MrDoc发布
返回首页
-
+
SQUID缓存服务器
2020年5月10日 18:15
admin
#安装SQUID >##方式一:YUM源安装 yum -y install squid >##方式二:源码安装 >####安装依赖: yum -y install gcc pcre pcre-devel automake autoconf libtool make gcc-c++ libstdc++-devel >####一.下载软件包 >####网址:http://www.squid-cache.org/Versions/ wget -c http://www.squid-cache.org/Versions/v3/3.5/squid-3.5.28.tar.gz >####二.解压安装 Shell > mkdir -p /usr/src/ Shell > tar -zxvf squid-3.5.28.tar.gz Shell > cp -r squid-3.5.28 /usr/src/squid Shell > cd /usr/src/squid Shell > ./configure --prefix=/usr/local/squid \ --enable-asyno-io=100 \ --with-pthreads \ --enable-storeio="aufs,diskd,ufs" \ --enable-removal-policies='heap,lru' \ --enable-icmp \ --enable-delay-pools \ --enable-useragent-log \ --enable-referer-log \ --enable-kill-parent-hack \ --enable-cachemgr-hostname=localhost \ --enable-arp-acl \ --enable-default-err-language=English \ --enable-err-language="Simplify_Chinese" \ --disable-poll \ --disable-wccp \ --disable-ident-lookups \ --disable-internal-dns \ --enable-basic-auth-helpers="NCSA" \ --enable-stacktrace \ --with-filedescriptors=64000 \ --enable-ssl \ --enable-x-accelerator-very \ --disable-snmp \ --with-aio \ --enable-linux-tproxy Shell > make && make install --- #配置( 反向缓存为例 ) >![](/media//202005/2020-05-12115801636723.png) >####yum源安装配置文件:/etc/squid/squid.conf >####源码安装配置文件:<安装目录>/etc/squid.conf --- vim /etc/squid/squid.conf --------------------------------------------------------- acl localnet src 10.0.0.0/8 # 定义源地址为10.0.0.0/8的ACL acl localnet src 172.16.0.0/12 # 定义源地址为172.16.0.0/12的ACL acl localnet src 192.168.0.0/16 # 定义源地址为192.168.0.0/16的ACL acl badfile urlpath_regex -i \.mp3$ \.rar$ # 定义特定文件 acl SSL_ports port 443 # 定义安全端口443的ACL acl Safe_ports port 80 # http acl Safe_ports port 21 # ftp acl Safe_ports port 443 # https acl Safe_ports port 70 # gopher acl Safe_ports port 210 # wais acl Safe_ports port 1025-65535 # unregistered ports acl Safe_ports port 280 # http-mgmt acl Safe_ports port 488 # gss-http acl Safe_ports port 591 # filemaker acl Safe_ports port 777 # multiling http acl CONNECT method CONNECT # 定义连接方式为CONNECT的ACL http_access deny !Safe_ports # 拒绝所有非Safe_ports的连接 http_access deny CONNECT !SSL_ports http_access deny badfile # 拒绝访问特定文件 http_access allow localhost manager # 仅允许本机主机进行缓存管理 http_access deny manager # 拒绝其它主机的所有缓存管理 http_access allow localnet # 允许localnet的ACL访问 http_access allow localhost # 允许localhost访问 http_access deny all # 拒绝其它所有访问 http_port 3128 # 监听代理的3128端口,方便使用squidclient工具对缓存进行管理 http_port 80 accel vhost # 代理服务器监听的端口,accel设置squid为加速模式,vhost实现反向代理 #cache_mem 2048 MB # 内存缓存总容量 #maximum_object_size_in_memory 4096 KB # 内存可以缓存的单个文件最大容量 #maximum_object_size # 磁盘可以缓存的单个文件最大容量 cache_dir ufs /var/spool/squid 100 16 256 # 定义硬盘缓存目录,缓存最大容量100MB,将在缓存目录下创建16个一级子目录和256个二级子目录,用来分类管理缓存数据 cache_log /var/squid/cache.log # 缓存日志文件 cache_swap_high 95 # cache目录使用量大于95%时,开始清理旧的cache cache_swap_low 80 # cache目录清理到80%时停止 logfile_rotate 60 # log轮转60天 error_directory /var/squid/ # 定义报错文件的存放目录 #配置后台源服务器 cache_peer 192.168.31.146 parent 80 0 no-query originserver round-robin weight=1 cache_peer 192.168.31.38 parent 80 0 no-query originserver round-robin weight=2 #格式:cache_peer hostname type http-port icp-port [options] #cache_peer:做反向代理的关键字 #hostname:代表后台真正的web服务器 #type:代表代理服务器的类型,有PARENT和SIBLING两种:parent代表父亲,sibling代表兄弟伙伴 #http-port:后台web服务的端口 #icp-port:代表代理服务器之间通讯的端口(用于查询兄弟缓存的端口) #[options]:代表可选项 #no-query:不去问邻居 #originserver:代表原始服务器(真正的web服务器) #round-robin:轮询 #weight:代表权重 # Leave coredumps in the first cache dir coredump_dir /var/spool/squid #refresh_pattern用于确定一个页面进入cache后,它在cache中停留的时间。 #格式:refresh_pattern [-i] <正则> min percent max [选项] #-i: 表示不区分大小写 #min: 保留的最低时间(单位为分钟) #percent 如果squid最后修改系数算法低于该百分比则数据不过期 #max 保留的最大时间(单位为分钟) refresh_pattern ^ftp: 1440 20% 10080 refresh_pattern ^gopher: 1440 0% 1440 refresh_pattern -i (/cgi-bin/|\?) 0 0% 0 refresh_pattern . 0 20% 4320 >####Squid中的refresh_pattern详解 #https://www.cnblogs.com/edwinaclau/articles/2619210.html #启动与停止服务 squid -z #初始化你在 squid.conf 里配置的 cache 目录 squid -k parse #验证 squid.conf 的 语法和配置 squid -s #启动squid在后台运行 squid #启动squid在前台运行 squid -k shutdown #停止squid squid -k reconfigure [-f <配置文件路劲>] #squid配置重载,相当于重启 >####开机自启动 vim /etc/rc.d/rc.local ------------------------------------------------------- /usr/local/squid/sbin/squid -s #日志 >####yum源安装日志文件:/var/log/squid/access.log >####源码安装日志文件:<安装目录>/var/logs/access.log
分享到: