Squid代理服务器应用(我从远方赶来,赴你一面之约)(二)

本文涉及的产品
云防火墙,500元 1000GB
日志服务 SLS,月写入数据量 50GB 1个月
简介: Squid代理服务器应用(我从远方赶来,赴你一面之约)(二)

三、构建传统代理服务器



3.1 代理服务器设置

vim /etc/squid.conf
--63行--插入
cache_mem 64 MB #指定缓存功能所使用的内存空间大小,便于保持访问较频繁的WEB对象,容量最好为4的倍数,单位为MB,建议设为物理内存的1/4
reply_body_max_size 10 MB #允许用户下载的最大文件大小,以字节为单位,当下载超过指定大小的Web对象时,浏览器的报错页面中会出现“请求或访问太大”的提示默认设置0表示不进行限制
maximum_object_size 4096 KB #允许保存到缓存空间的最大对象大小,以KB为单位,超过大小限制的文件将不被缓存,而是直接转发给用户
#重启服务
service squid restart 或 systemctl restart squid
#生产环境中还需要修改防火墙规则
iptables -F
iptables -I INPUT -p tcp --dport 3128 -j ACCEPT
#查看 Squid 访问日志的新增记录中的缓存命中情况
tail -f /usr/local/squid/var/logs/access.log
 #出现TCP_MEM_HIT/200,则说明缓存命中


日志中的字段说明:


MISS:未命中缓存

HIT:命中缓存

EXPIRED:缓存过期

STALE:命中了陈旧缓存

REVALIDDATED:Nginx验证陈旧缓存依然有效

UPDATING:内容陈旧,但正在更新

BYPASS:X响应从原始服务器获取



3.2 web服务器

centos7-1 192.168.109.131

#关闭防火墙
systemctl stop firewalld
systemctl disable firewalld
setenforce 0
#下载http服务
yum install -y httpd
#开启服务
systemctl start httpd
#查看 Web 实时访问日志的新增记录
tail -f /var/log/httpd/access_log


3.3 客户端w7代理设置


打开浏览器,工具–>Internet选项–>连接–>局域网设置–>开启代理服务器(地址:Squid服务器IP地址,端口:3128)





清除浏览器缓存再次访问


四、构建透明代理服务器



实验环境

squid服务器

centos7-2

内网ens33:192.168.109.132 外网ens36:12.0.0.1

web服务器

centos7-1

12.0.0.12

客户机

w7

192.168.109.200

4.1 Squid服务器配置


#修改配置文件
vim /etc/squid.conf
......
http_access allow all
http_access deny all
--60行--修改添加提供内网服务的IP地址,和支持透明代理选项 transparent
http_port 192.168.109.132:3128 transparent
systemctl restart squid
#开启路由转发,实现本机中不同网段的地址转发
echo 'net.ipv4.ip_forward = 1' >> /etc/sysctl.conf
sysctl -p
#修改防火墙规则
iptables -F
iptables -t nat -F
iptables -t nat -I PREROUTING -i ens33 -s 192.168.109.0/24 -p tcp --dport 80 -j REDIRECT --to 3128  #用于转发http协议
iptables -t nat -I PREROUTING -i ens33 -s 192.168.109.0/24 -p tcp --dport 443 -j REDIRECT --to 3128 #用于转发https协议
iptables -I INPUT -p tcp --dport 3128 -j ACCEPT





4.2 Web服务器配置

#安装http服务
yum install -y httpd
systemctl start httpd
#查看 Squid 访问日志的新增记录
tail -f /usr/local/squid/var/logs/access.log
#查看 Web 访问日志的新增记录,显示的是由代理服务器的外网口代替客户机在访问
tail -f /var/log/httpd/access_log


4.3 客户端测试


关闭客户机的浏览器之前设置的代理服务器的功能后访问 http://12.0.0.12




五、ACL访问控制


在配置文件 squid.conf 中,ACL 访问控制通过以下两个步骤来实现:


(1)使用 acl 配置项定义需要控制的条件;


(2)通过 http_access 配置项对已定义的列表做“允许”或“拒绝”访问的控制。


5.1 定义访问控制列表

格式:
acl 列表名称 列表类型 列表内容 …
vim /etc/squid.conf
......
acl localhost src 192.168.109.200/32      #源地址为 192.168.109.200,localhost可自定义
acl MYLAN src 192.168.109.0/24 192.168.1.0/24  #客户机网段
acl destinationhost dst 192.168.109.131/32    #目标地址为 192.168.80.13
acl MC20 maxconn 20         #最大并发连接 20
acl PORT port 21          #目标端口 21
acl DMBLOCK dstdomain .qq.com      #目标域,匹配域内所有站点
acl BURL url_regex -i ^rtsp:// ^emule://    #以 rtsp://、emule:// 开头的目标 URL地址,-i表示忽略大小写
acl PURL urlpath_regex -i \.mp3$ \.mp4$ \.rmvb$  #以 .mp3、.mp4、.rmvb 结尾的目标 URL 路径
acl WORKTIME time MTWHF 08:30-17:30     #时间为周一至周五 8:30~17:30,“MTWHF”为每个星期的英文首字母


重启服务



5.2 启动对象列表管理

如果地址太多且不连续,我们可以放在一个文件中进行管理,然后在配置文件中调用管理地址文件的路径

mkdir /etc/squid
vim /etc/squid/dest.list
192.168.109.0/24
vim /etc/squid.conf
......
acl destinationhost dst "/etc/squid/dest.list"    #调用指定文件中的列表内容
......
http_access deny(或allow) destinationhost  #注意,如果是拒绝列表,需要放在http_access allow all前面
#重启服务
systemctl restart squid
浏览器访问Web服务器 http://12.0.0.12 ,显示被访问被拒绝。



重启服务


目录
打赏
0
0
0
0
14
分享
相关文章
如何优化 SSR 应用以减少服务器压力
优化SSR应用以减少服务器压力,可采用代码分割、缓存策略、数据预加载、服务端性能优化、使用CDN、SSR与SSG结合、限制并发请求、SSR与CSR平滑切换、优化前端资源及利用框架特性等策略。这些方法能有效提升性能和稳定性,同时保证用户体验。
101 4
深度学习在资源利用率优化中的应用:让服务器更聪明
深度学习在资源利用率优化中的应用:让服务器更聪明
62 6
2分钟在阿里云ECS控制台部署个人应用(图文示例)
作为一名程序员,我在部署托管于Github/Gitee的代码到阿里云ECS服务器时,经常遇到繁琐的手动配置问题。近期,阿里云ECS控制台推出了一键构建部署功能,简化了这一过程,支持Gitee和GitHub仓库,自动处理git、docker等安装配置,无需手动登录服务器执行命令,大大提升了部署效率。本文将详细介绍该功能的使用方法和适用场景。
2分钟在阿里云ECS控制台部署个人应用(图文示例)
网站应用项目如何选择阿里云服务器实例规格+内存+CPU+带宽+操作系统等配置
对于使用阿里云服务器的搭建网站的用户来说,面对众多可选的实例规格和配置选项,我们应该如何做出最佳选择,以最大化业务效益并控制成本,成为大家比较关注的问题,如果实例、内存、CPU、带宽等配置选择不合适,可能会影响到自己业务在云服务器上的计算性能及后期运营状况,本文将详细解析企业在搭建网站应用项目时选购阿里云服务器应考虑的一些因素,以供参考。
Swift 是苹果公司开发的现代编程语言,具备高效、安全、简洁的特点,支持类型推断、闭包、泛型等特性,广泛应用于苹果各平台及服务器端开发
Swift 是苹果公司开发的现代编程语言,具备高效、安全、简洁的特点,支持类型推断、闭包、泛型等特性,广泛应用于苹果各平台及服务器端开发。基础语法涵盖变量、常量、数据类型、运算符、控制流等,高级特性包括函数、闭包、类、结构体、协议和泛型。
80 2
Linux系统在服务器领域的应用与优势###
本文深入探讨了Linux操作系统在服务器领域的广泛应用及其显著优势。通过分析其开源性、安全性、稳定性和高效性,揭示了为何Linux成为众多企业和开发者的首选服务器操作系统。文章还列举了Linux在服务器管理、性能优化和社区支持等方面的具体优势,为读者提供了全面而深入的理解。 ###
2025年阿里云GPU服务器租用价格、选型策略与应用场景详解
随着AI与高性能计算需求的增长,阿里云提供了多种GPU实例,如NVIDIA V100、A10、T4等,适配不同场景。2025年重点实例中,V100实例GN6v单月3830元起,适合大规模训练;A10实例GN7i单月3213.99元起,适用于混合负载。计费模式有按量付费和包年包月,后者成本更低。针对AI训练、图形渲染及轻量级推理等场景,推荐不同配置以优化成本和性能。阿里云还提供抢占式实例、ESSD云盘等资源优化策略,支持eRDMA网络加速和倚天ARM架构,助力企业在2025年实现智能计算的效率与成本最优平衡。 (该简介为原文内容的高度概括,符合要求的字符限制。)
2025年阿里云企业云服务器ECS选购与配置全攻略
本文介绍了阿里云服务器的核心配置选择方法论,涵盖算力需求分析、网络与存储设计、地域部署策略三大维度。针对不同业务场景,如初创企业官网和AI模型训练平台,提供了具体配置方案。同时,详细讲解了购买操作指南及长期运维优化建议,帮助用户快速实现业务上云并确保高效运行。访问阿里云官方资源聚合平台可获取更多最新产品动态和技术支持。
阿里云出手了,DeepSeek服务器拒绝繁忙,免费部署DeepSeek模型671B满血版
阿里云推出免费部署DeepSeek模型671B满血版服务,通过百炼大模型平台,用户无需编码,最快5分钟、最低0元即可完成部署。平台提供100万免费Token,支持DeepSeek-R1和DeepSeek-V3等多款模型调用,有效解决服务器繁忙问题。新手零基础也能轻松上手,享受高效稳定的API调用和自动弹性扩展功能。教程涵盖开通服务、获取API-KEY及配置Chatbox客户端等步骤,详细指引助您快速实现DeepSeek自由。
128 18
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等