squid代理服务器

简介:

工作在应用层

主要提供缓存加速,应用层过滤控制的功能。

代理种类:1、传统代理   2、透明代理  3、反向代理

Squid代理/etc/squid/squid.conf 配置文件。

62    http_port  3128   默认监听的端口。若服务器有多个网络接口,但只希望在其中一个ip地址上提供服务,还可以同时指定ip地址,  例如: http_port 192.168.10.13128

Squid代理服务器使用内存资源比较多。


一、传统代理

客户端→squid代理→ Web

客户端ip192.168.233.128/24

squid代理服务器:192.168.233.130/24

Web端:192.168.233.129/24

首先1squid代理服务器:192.168.10.1/24 配置

/etc/squid/squid.conf

http_access allow all  //放在deny之前

http_port 3128   代理端口3128

visible_hostnamenginx  自己的主机名

/etc/hosts 下写上自己的ip与主机名,否则日志中会报错。

/etc/init.d/squidstart  不要重启,否则时间是会很长。直接start

Squid -z

2、客户端:在火狐浏览器设置代理

wKiom1lIAc_wCYDmAABAZFN1fzc724.png

填写服务器代理的ip地址。

wKioL1lIAlKgaOXuAAFfk-hAzA4869.png

3、测试访问web

wKiom1lIAoXzEm5EAAAtYo35RJ0191.png

4、验证代理服务器上的日志。

tail -f/var/log/squid/access.log

wKioL1lIAt6wmRhCAAAYcxpW6wg399.png

5web服务端

wKiom1lIAwLQbwFbAAAcf7zRk2k618.png

6、开启缓存功能。

/etc/squid/squid.conf

wKioL1lIAyjijIBBAAASQBVXOLM315.png

Service squidrestart

wKiom1lIA2yjdDYxAAAYof1jwJY518.png


二、透明代理


wKiom1lIA5zDy5SFAAG9KxS2iEU133.png

Squid服务器:

wKioL1lIA-GTw52XAAAHV70EiAU541.png

把这些写在前面。

wKiom1lIA-KBwsDwAAAE6JCMdg4158.png

[root@nginx ~]#/etc/init.d/squid start   不要restart,会很慢的。

squid –zX  重新初始话缓存,-X查看过程

iptables -t nat -APREROUTING -i eth0 -s 192.168.233.0/24 -p tcp --dport 80 -j REDIRECT --to-ports3128

iptables -t nat -APREROUTING -i eth0 -s 192.168.233.0/24 -p tcp --dport 443 -j REDIRECT--to-ports 3128

REDIRECT:重定向实现本机端口的重新定向,将内网访问过的都通过“ –to-ports 端口号” 的形式来指定映射的目标端口。

net.ipv4.ip_forward= 1  /etc/sysctl.conf 开启Ip转发。Sysctl -p

客户端:

把浏览器上的代理不要设置。

把网关设置成squidIp(是与squid同一网络中的)

wKioL1lIBT2y10gGAAAjUMVhDrc544.png

设置好以后,重新启动服务即可。

/etc/init.d/networkrestart

U:up状态   G:gateway

客户端打开浏览器进行访问

wKioL1lIBcvgEl54AADAso_XnWo683.png

最后在代理服务器上打开日志并检查。

wKiom1lIBczClCFIAAA3naHf3ZU298.png同样,web上也有了访问日志了。但在web上显示的是squid的访问地址 192.168.0.138wKioL1lIBc6gX0f0AAAwTRvaojU768.png

acl访问控制:

squid中可以进行限制,可以针对源地址与目标地址,访问的url路径,访问的时间等各种条件进行过滤。

wKiom1lIBc7Rp1yeAAAMrAixpFk037.png

源地址与目标地址的网段或是IP范围,主机名等。

wKiom1lIBc-y5mkgAABiKZ0vBDo662.png

squid -k parse  测试是否正确。

squid -k check  

dstdomain:目标域,匹配域内所有站点

port:目标端口

url_regex -i^rtsp:// ^emule:// :目标资源的url地址,-i忽略大小写。

urlpath_regex -i\.mp3$ \.mp4$ \.rmvb$:以.rpm3.mp4,等结尾的url

time:定义的时间,例如:MTWHF 08:30-17:30 周一至周五08:30-17:30

整个配置文件里是从上到下来读的,越写在前面的,优先级越高,权限也越大。

wKioL1lIBdDAsMQaAAAQz4ttBbc167.png

还可以建立对目标地址的名单

wKiom1lIBdCgde7CAAAUXj2KGtY208.png

定义类型与调用文件中的列表内容。

acl ipaddr dst"/etc/squid/all.list"

acl yu-mingdstdomain "/etc/squid/deny.list"

设置acl访问权限

http_access allowipaddr

http_access denyyu-ming

每一条规则中,可以包含多个acl列表名,各个列表之间以空格分隔,为的关系,表示必须满足所有acl列表对应的条件才会进行限制。

需要使用取反条件时,可以在acl列表前添加符号。


http_access denymusic clients  //禁止客户端下载mp3mp4等文件。

http_access denyyu-ming clients  //禁止客户端访问名单中的域名。

Squid

1、没有任何规则时,squid服务将拒绝客户端请求。

2、有规则但找不到相匹配的项时,squid将采用与最后一条规则相反的权限。例如:最后一条规则是allow,就拒绝客户端的请求,否则允许该请求。

   通常情况下,把最常用的控制规则放在阳前面,以减少squid的负载。在访问控制的总体策略上,建议采用“先拒绝后允许先允许后拒绝的方式,最后一条规则设为默认策略,设为

“http_access allow all”“http_access deny all”



本文转自 a120518129 51CTO博客,原文链接:http://blog.51cto.com/silencezone/1940049,如需转载请自行联系原作者

相关实践学习
【涂鸦即艺术】基于云应用开发平台CAP部署AI实时生图绘板
【涂鸦即艺术】基于云应用开发平台CAP部署AI实时生图绘板
相关文章
|
Linux Python
LINUX These critical programs are missing or too old: compiler python
LINUX These critical programs are missing or too old: compiler python
1509 0
LINUX These critical programs are missing or too old: compiler python
|
JSON JavaScript 数据格式
Vue中 引入使用 vue-json-editor
Vue中 引入使用 vue-json-editor
2208 0
Vue中 引入使用 vue-json-editor
|
数据安全/隐私保护 iOS开发 MacOS
|
IDE 开发工具
使用STM32F103标准库实现自定义键盘
通过本文,我们学习了如何使用STM32F103标准库实现一个简单的自定义键盘。我们首先初始化了GPIO引脚,然后实现了一个扫描函数来检测按键状态。这个项目不仅能够帮助我们理解STM32的GPIO配置和按键扫描原理,还可以作为进一步学习中断处理和低功耗设计的基础。希望本文对你有所帮助,祝你在嵌入式开发的道路上不断进步!
1171 4
|
机器学习/深度学习 文字识别 TensorFlow
手写数字识别
【8月更文挑战第8天】手写数字识别。
232 1
|
11月前
|
网络协议 Java 应用服务中间件
centos7环境下tomcat8的安装与配置
本文介绍了在Linux环境下安装和配置Tomcat 8的详细步骤。首先,通过无网络条件下的文件交互软件(如Xftp 6或MobaXterm)下载并解压Tomcat安装包至指定路径,启动Tomcat服务并测试访问。接着,修改Tomcat端口号以避免冲突,并部署Java Web应用项目至Tomcat服务器。最后,调整Linux防火墙规则,确保外部可以正常访问部署的应用。关键步骤包括关闭或配置防火墙、添加必要的端口规则,确保Tomcat服务稳定运行。
|
人工智能 Cloud Native Serverless
2024云栖大会资料精选,《云原生+AI核心技术&最佳实践》PPT全量放送!
关注阿里云云原生公众号,后台回复:2024 云栖大会,即可免费下载云原生云栖大会核心资料合集。
3071 35
|
自然语言处理 并行计算 数据可视化
免费开源法律文档比对工具:技术解析与应用
这款免费开源的法律文档比对工具,利用先进的文本分析和自然语言处理技术,实现高效、精准的文档比对。核心功能包括文本差异检测、多格式支持、语义分析、批量处理及用户友好的可视化界面,广泛适用于法律行业的各类场景。
636 1
|
消息中间件 负载均衡 Kafka
【Kafka消费秘籍】深入了解消费者组与独立模式,掌握消息消费的两种超能力!
【8月更文挑战第24天】Apache Kafka是一款高性能的分布式消息系统,支持灵活多样的消费模型以适应不同的应用场景。消息按主题组织,每个主题可划分为多个分区,确保消息顺序性。本文深入探讨了Kafka中的两大核心消费模式:消费者组(Consumer Group)和独立消费者(Standalone Consumer)。消费者组允许多个消费者协同工作,实现负载均衡及故障恢复,是最常用的消费模式。独立消费者模式则适用于需要高度定制化处理逻辑的场景,如消息重放等。通过对比这两种模式的特点和提供的示例代码,开发者可以根据具体需求选择最合适的消费策略,从而更好地利用Kafka构建高效的数据流应用程序。
673 3
|
消息中间件 存储 中间件
【主流技术】聊一聊消息队列 RocketMQ 的基本结构与概念
2.6Broker 代理服务器(Broker)是消息中转角色,负责存储消息、转发消息。代理服务器在 RocketMQ 系统中负责接收从生产者发送来的消息并存储、同时为消费者的拉取请求作准备。代理服务器也存储消息相关的元数据,包括消费者组、消费进度偏移和主题和队列消息等。 2.7Pull Consumer 拉取式消费(Pull Consumer)是 Consumer 消费的一种类型,也是默认的类型。下游应用系统通常主动调用 Consumer 的拉消息方法从 Broke r服务器拉消息,即主动权由下游应用控制。一旦获取了批量消息,应用就会启动消费过程。
563 0

热门文章

最新文章