当前位置:首页 > CN2资讯 > 正文内容

Squid(代理服务)squid代理

12小时前CN2资讯

系统版本:CentOS7.X

概念

Squid是一个高性能的代理缓存服务器。可以帮助PC代理去请求页面数据,并缓存到本地。当第二次继续访问时直接将缓存页面返回给PC。

Squid的特点:

  • 通过缓存的方式为用户提供WEB访问以及加速

  • 对用户访问的WEB进行过滤控制

Squid工作有三种方式:正向代理、透明代理、反向代理。

理解示意图:

服务端:搭建正向代理服务

一、使用YUM工具安装Squid服务

# yum -y install squid

二、编辑Squid主配置文件,默认为简易配置

# vi /etc/squid/squid.conf                (编辑主配置文件

acl localnet src 192.168.1.0/24             #定义一个ACL,名为localnet,基于源地址为192.168.1.0/24网段

http_access allow localnet                #调用ACL,允许localnet列表中的网段访问代理服务器

http_access deny all                     #拒绝所有

http_port 192.168.1.1:3128                #设置监听端口和地址,默认为3128

coredump_dir /var/spool/squid              #设置高速缓存目录,默认为/var/spool/squid

access_log /var/log/squid/access.log        #日志文件存放位置

三、开启服务

# systemctl start squid             (开启服务

# netstat -lnupt |grep squid              (查看端口

客户端:设置代理服务器

设置步骤:打开IE浏览器-----Internet属性------连接-----局域网设置

配置完整解析

配置文件路径:/etc/squid/squid.conf

日志文件路径:/var/log/squid

配置说明

一、基本配置

http_port 192.168.1.1:3128                  #设置监听地址和端口,如果只是端口则表示监听所有地址。

visible_hostname                    #可发现的主机名,给代理服务器设置一个名字。

access_log /var/log/squid/access.log           #访问日志存放位置。

coredump_dir /var/spool/squid            #设置一个内核转存目录,当Squid挂掉的时候,会将内存中的数据写到该目录下,默认为/var/spool/squid。

cache_mgr squiderror@            #设置一个邮箱,当用户使用代理服务器中出现问题,会在错误页面显示一个邮箱地址,用于用户反馈错误。

reply_body_max_size  1024000 allow all       #限制下载文件大小,单位为字节B。

二、优化配置

cache_dir ufs /var/spool/squid  100 16 256     #设置在本地磁盘设置一个缓存目录用于缓存数据。

“ufs”表示缓存数据的存储格式;

“/var/spool/squid”表示设置的缓存目录;

“100”表示缓存目录占磁盘空间大小,单位为MB;

“16”表示缓存数据的一级子目录个数为16个;

“256”表示缓存数据的二级子目录个数为256个。

cache_mem 1024MB                   #缓存占物理内存大小。单位为MB。

cache_swap_low 85                  #缓存占Swap虚拟内存最低大小为85%。

cache_swap_high 95                   #缓存占Swap虚拟内存最高大小为95%。当缓存数据占内存大小到95%时,会自动删除旧数据释放内存空间到百分之85%。

minimum_object_size 0KB               #设置数据对象(页面数据)的最小大小,0表示不限制。

maximum_object_size 4096KB                  #设置数据对象(页面数据)的最大大小,当大于4MB的数据在不会缓存到磁盘。

三、访问控制

1、定义一个ACL

书写格式:acl 列表名 列表类型 内容

常用的ACL列表类型的使用

列表类型

描述

内容

src

基于源IP(客户机IP)

地址,例如:192.168.1.1

网段,例如:192.168.1.0/24

地址范围,例如:192.168.1.1-192.168.1.254

dst

基于目标IP(服务器IP)

地址,例如:1.1.1.1

网段,例如:1.1.1.0/24

地址范围,例如:1.1.1.1-1.1.1.5

port

基于端口

端口,例如:80

srcdomain

基于源域名(客户机的域名)

域名,例如:source.com

dstdomain

基于目标域名(服务器的域名)

域名,例如:www.baidu.com

method

基于HTTP访问请求类型

请求类型,例如:CONNECT

time

指定某个星期的时间

例如:MTWHF 8:30-17:30

M表示周一

T表示周二

W表示周三

H表示周四

F表示周五

maxconm

每个客户机的并发连接数

数字,例如:20

url_regex

要访问的目标资源URL地址

URL正则表达式,例如:^http://

urlpath_regex

要访问的目标资源URL完整路径

URL正则表达式,例如:\.jpg$

acl localnet src 192.168.1.0/24             #定义一个基于源IP的,名为localnet的ACL,网段为192.168.1.0/24。

acl Safe_ports port 80                   #定义一个基于端口的,名为Safe_ports的ACL,端口号为80。

acl Ddomain dstdomain gsgw.com             #定义一个基于目标域名的,名为Domain的ACL,域名为为gsgw.com。

acl CONNECT method CONNECT                #定义一个基于访问请求类型的,名为CONNECT的ACL,请求类型为CONNECT。

acl Time time MTWHF 8:30-17:30          #定义一个基于时间的,名为Time的ACL,指定时间段为周一到周五每天的8:30-17:30。

acl MAX maxconm 20                #定义一个客户机最大连接数,名为MAX的ACL,设置连接数为20。

acl URL url_regex ^https://            #定义一个基于URL地址过滤的,名为URL的ACL,设置URL开头为https://的地址。正则中“^”表示开头,“$”表示结尾。

2、调用ACL

http_access deny all                    #拒绝访问所有

http_access allow localnet                #允许localnet中定义的地址

http_access allow Safe_ports               #允许Safe_port中定义的端口

http_access allow Ddomain                 #允许Ddomain中定义的域名

http_access allow CONNECT                 #允许CONNECT中定义的HTTP访问请求类型

http_access allow Time                   #只有在Time中定义的时间段才能访问

http_access allow MAX               #MAX中定义的客户机最大连接数为20

http_access allow URL               #只允许访问符合URL中定义的路径地址

四、开启透明代理

http_port 192.168.1.0/24:3128 transparent    #设置监听地址和端口,如果只是端口则表示监听所有地址。并支持透明代理。

五、开启反向代理

http_port 192.168.1.1:80 vhost vport      #设置代理服务器监听的端口为80,并开启虚拟主机加速模式。

1、定义后端服务器

#设置后端WEB服务器地址和端口。采用权重调用的方式实现后端WEB服务器的负载均衡。

cache_peer 192.168.1.11 parent 80 0 originserver weight=1 max-conn=30 name=webServer1

cache_peer 192.168.1.12 parent 80 0 originserver weight=1 max-conn=30 name=webServer2

parent后面的0表示ICP端口号,当存在多个Squid服务器时使用。

weight表示设置一个权重值,值高则优先去这台服务器请求。

max-conn表示连接次数。

name表示定义一个别名,用于下方调用。

    2、配置域名转发

    #调用上面定义的服务器,当客户来代理服务器访问时则将请求转发给后端的WEB服务器。

    cache_peer_domain webServer1

    cache_peer_domain webServer2

      你可能想看:

      扫描二维码推送至手机访问。

      版权声明:本文由皇冠云发布,如需转载请注明出处。

      本文链接:https://www.idchg.com/info/24307.html

      分享给朋友:

      “Squid(代理服务)squid代理” 的相关文章

      搬瓦工VPS服务使用指南与优惠码获取技巧

      搬瓦工(BandwagonHost)是一家成立于2004年的网络服务公司,隶属于加拿大IT7。这家公司的崛起与它提供的超低价格VPS服务密不可分,尤其是在中国市场,搬瓦工已经积累了大量的用户和知名度。随着时间的推移,搬瓦工不仅没有止步于低价策略,而是逐渐向中高端VPS市场发展,推出了诸如CN2 GI...

      国外常用ping工具及其使用方法

      ping工具在国外的应用 什么是ping工具?其基本功能和重要性 ping工具是一种非常实用的网络诊断工具,通过向指定的IP地址发送数据包来检测网络连接的质量。当我们在互联网上进行访问时,ping工具能够帮助我们了解网络延迟、丢包率等关键指标。这些信息对于网站运营者和普通用户来说都是极其重要的,因为...

      蘑菇云:自然与核爆炸的惊人现象及其深远影响

      蘑菇云这个词,一提起来让人既熟悉又敬畏。它的外形就像个倒立的蘑菇,顶部宽大、底部则较小,这是因为它源自于强大爆炸所产生的气体。这种云朵看似平常,却是一种强烈爆炸后气体与空气混合的结果。虽然蘑菇云在现代多被与核爆炸联系在一起,但实际上,火山喷发及一些天体撞击也可能产生自然形成的蘑菇云。 了解蘑菇云的形...

      搬瓦工机场优惠:享受稳定快速网络服务的最佳选择

      在了解搬瓦工机场之前,我认为确实有必要先对这个服务进行全面的认识。搬瓦工机场(Just My Socks)是由加拿大著名VPS服务提供商搬瓦工(BandwagonHost)于2018年推出的一项机场服务。这个项目的目标是为用户提供更为便捷、快速的网络连接方式,尤其是在某些地区的网络受限时显得尤为重要...

      BBR加速开启:提升网络性能的最佳实践

      什么是BBR? 在网络领域,BBR(Bottleneck Bandwidth and Round-trip propagation time)是一个备受关注的TCP拥塞控制算法,由Google开发的这一技术,旨在提升网络连接的传输速率和稳定性。BBR独特之处在于,它通过实时监测数据包的传输时延与丢包...

      Digital-VM评测:性价比高的VPS主机服务与全球数据中心优势分析

      Digital-VM是一家在2018年成立于美国的主机商,专注于提供VPS主机服务。自成立以来,Digital-VM致力于为全球用户提供高效、低价的云计算解决方案。随着虚拟主机市场的快速发展,Digital-VM不断扩展其服务和产品线,逐渐成长为一家具备竞争力的主机商。在技术方面,Digital-V...