Squid 配置文件详解

简介:
Squid 配置文件详解
Squid  配置文件详解


# NETWORK OPTIONS
(网络选项)
# -----------------------------------------------------------------------------

http_port 3128  # 代理端口
icp_port 3130   #icp
端口


# OPTIONS WHICH AFFECT THE NEIGHBOR SELECTION ALGORITHM
#-----------------------------------------------------------------------------

# 禁止缓存
hierarchy_stoplist cgi-bin ?
hierarchy_stoplist -i ^https:\\ ?
acl QUERY urlpath_regex -i cgi-bin \? \.asp \.php \.jsp \.cgi
acl denyssl urlpath_regex -i ^https:\\

no_cache deny QUERY
no_cache deny denyssl

# 上面几个就是说遇到 URL 中有包含 cgi-bin 和以 https:\\ 开头的都不要缓存,
#asp
cgi php 等动态脚本也不要缓存,
#https://
开通的不缓存是因为一般我们进行电子商务交易,
#
例如银行付款等都是采用这个的,如果把信用卡号什么缓存那不是很危险。


# OPTIONS WHICH AFFECT THE CACHE SIZE(
定义 cache 大小的选项 )
# -----------------------------------------------------------------------------

cache_mem 32 MB       # 额外使用内存量,可根据你的系统内存在设定,一般为实际内存的 1/3

cache_swap_low  70    # 最低缓存百分比
cache_swap_high 95   #
最高缓存百分比,就是上面那个额外内存的使用百分比

maximum_object_size 4096 KB  # 单个文件最大缓存大小,超过这个大小将不缓存

maximum_object_size_in_memory 8 KB  # 在内存中单个文件最大缓存大小,超过这个大小将不缓存到内存中

# DNS 正反解所得到的 IP 存在缓存区的大小,这样可以加快解析速度
ipcache_size 1024
ipcache_low 90
ipcache_high 95
fqdncache_size 1024

# LOGFILE PATHNAMES AND CACHE DIRECTORIES( 定义日志文件的路径及 cache 的目录)
# -----------------------------------------------------------------------------
各发行版自带的 Squid 略有区别,一般使用各发行版自带的设置
#
   <cache_dir>; <aufs|ufs>; < 目录所在 >; <MBytes 大小 >; <dir1>; <dir2>; 
#
  那个  aufs  只有在编译的时候加入  --enable-async-io  那个选项才有支持,  
#
  至于目录所在地与所占用的磁盘大小则请视您的主机情况而定,  
#
  而后面  dir1, dir2  则是两个次目录的大小,通常  16 256   64 64  皆可,  
#
  一般来说,数字最好是  16  的倍数,据说性能会比较好啦!

cache_dir aufs /Cache1 100 16 256  
cache_dir aufs /Cache2 100 16 256

# 日志存放位置
#cache_access_log /usr/local/squid/var/logs/access.log
#cache_log /usr/local/squid/var/logs/cache.log

#  TAG: cache_store_log
#cache_store_log /usr/local/squid/var/logs/store.log

#  TAG: pid_filename
#pid_filename /usr/local/squid/var/logs/squid.pid

# OPTIONS FOR EXTERNAL SUPPORT PROGRAMS( 外部支持程序选项)
# -----------------------------------------------------------------------------

# 用代理登陆匿名 ftp 服务选项
各发行版自带的 Squid 略有区别,一般使用各发行版自带的设置
#  TAG: ftp_user
ftp_user Squid@    #
用户名
ftp_passive on     #
被动模式


#
认证
#auth_param basic children 5
#auth_param basic realm Squid proxy-caching web server
#auth_param basic credentialsttl 2 hours
#auth_param basic casesensitive off

 

# OPTIONS FOR TUNING THE CACHE (调整 cache 的选项)
# -----------------------------------------------------------------------------


#  TAG: refresh_pattern    Cache
更新时间设置
#<refresh_pattern>; <regex>; <
最小时间 >; < 百分比 >; < 最大时间 >;

refresh_pattern ^ftp:           1440        20%        10080
refresh_pattern ^gopher:        1440        0%        1440
refresh_pattern .                0        20%        4320

# 上面第一行如果网址开头是  ftp  的话,那么在一天 (1440 分钟 ) 后,
#
如果 proxy  再次取用这个档案时,则  cache  内的数据会被更新!

 

# TIMEOUTS  (超时)
# -----------------------------------------------------------------------------
#
连接到其他机器的最大尝试时间
connect_timeout 1 minute

# 连接到上层代理的超时时间
peer_connect_timeout 30 seconds

# 返回超时
request_timeout 2 minutes

# 持续连接时间
persistent_request_timeout 1 minute

# ACCESS CONTROLS (访问控制)
# -----------------------------------------------------------------------------

#  TAG: acl

#Examples:
#acl myexample dst_as 1241
#acl password proxy_auth REQUIRED
#acl fileupload req_mime_type -i ^multipart/form-data$
#acl javascript rep_mime_type -i ^application/x-javascript$
#
#Recommended minimum configuration:
acl all src 0.0.0.0/0.0.0.0
acl manager proto cache_object
acl localhost src 127.0.0.1/255.255.255.255
acl to_localhost dst 127.0.0.0/8
acl SSL_ports port 443 563
acl Safe_ports port 80                # http
acl Safe_ports port 21                # ftp
acl Safe_ports port 443 563        # https, snews
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
acl msn url_regex -i ^http://gateway.messenger.hotmail.com


acl inside1 src 192.168.1.0/24   #
内部网 IP
acl inside2 src 192.168.2.0/24 
acl localmac arp "/usr/local/squid/localmac"  #mac
地址文件

#  TAG: http_access
http_access allow inside1  #
允许 inside1 规则通过
http_access allow inside2  #
允许 inside2 规则通过
http_access allow localmac  #
允许 localmac 里面有登记的 mac 地址通过
http_access allow msn  #
允许访问 http://gateway.messenger.hotmail.com

acl admin arp 00:40:05:13:C4:B2 
http_access allow admin  #
允许 00:40:05:13:C4:B2 这个 mac 地址

#
#Recommended minimum configuration:
#
# Only allow cachemgr access from localhost
http_access allow manager localhost #
允许 manager 访问 localhost
http_access deny manager            #
禁止 manager 访问
# Deny requests to unknown ports
http_access deny !Safe_ports        #
禁止访问不在 Safe_ports 里的端口
# Deny CONNECT to other than SSL ports
http_access deny CONNECT !SSL_ports #
禁止访问非 443 563 端口
#

acl banned_sites url_regex "/etc/squid/banned.list"  
acl worktime time MTWHF 8:30-12:00 14:00-18:00 
acl mmxfile urlpath_regex -i \.mp3$ \.avi$ \.rmvb$ \.rm$ \.wma$ \.wmv$ 
http_access deny worktime mmxfile #
禁止在 worktime 时间内访问 .mp3,.avi,.rmvb,.rm,.wma 文件
http_access deny worktime banned_sites  #banned.list
文件里的网址全部丢弃
http_access allow localhost             #localhost
可以访问

#------ 按照网段,限制连接数
acl loc1 src 192.168.1.0/24           
acl loc1_conn maxconn 50 
acl loc2 src 192.168.2.0/24 
acl loc2_conn maxconn 30

http_access deny loc1 loc1_conn        
http_access allow loc1 
http_access deny loc2 src loc2_conn 
http_access allow loc2 
#-----------------------------

http_access allow localhost     #localhost 可以访问
http_access deny all            #
丢弃其他


# HTTPD-ACCELERATOR OPTIONS
HTTPD 加速选项)
# -----------------------------------------------------------------------------
#
设定透明代理
httpd_accel_host virtual #
主机名
httpd_accel_port 80      #
透明代理端口
httpd_accel_with_proxy on 
httpd_accel_uses_host_header on









本文转自 jxwpx 51CTO博客,原文链接:http://blog.51cto.com/jxwpx/218231,如需转载请自行联系原作者
目录
相关文章
|
10月前
|
存储 弹性计算 安全
阿里云服务器实例选择:经济型、通用算力型、计算型、通用型、内存型实例选择参考
当我们通过阿里云的活动购买云服务器会发现,相同配置的云服务器往往有多个不同的实例可选,而且价格差别也比较大,例如同样是4核8G的配置的云服务器,经济型e实例活动价格1595.11元/1年起,通用算力型u1实例要955.58元/1年起,而计算型c8i实例则要2845.81元/1年起,价格差别还是比较大的,因此,阿里云经济型、通用算力型、计算型、通用型、内存型实例云服务器有何差别就是很多新手用户比较关心的问题了,下面小编来为大家简单介绍下它们之间的区别。
755 16
|
Linux Docker 容器
openEuler 安装 podman 和 podman compose
Podman Compose 是 Podman 的扩展,它提供了与 Docker Compose 类似的功能。如果你的版本中没有包含 Podman Compose,或者你需要单独管理它,你可以尝试从外部仓库安装 Podman Compose。比如:使用 pip3 安装 podman & compose
1360 0
openEuler 安装 podman 和 podman compose
|
机器学习/深度学习 自然语言处理 算法
汉字的探索性分词方式:基于字图的部首分解与图神经网络的多因素表示
本文提出一种结合传统字符嵌入与部首结构的图表示法,用于捕捉汉字的语义和组成结构,提升大模型对汉字的理解能力。方法包括将字符分解为部首,构建部首图,并利用图卷积网络生成嵌入。此方法增强了模型的泛化能力和灵活性,并提供了代码实现。未来可优化的方向包括改进图构建算法、扩展部首系统、探索更先进的图神经网络架构及多模态融合。
429 2
|
存储 安全 Android开发
怎样找回删除的照片?照片恢复完整教程
不小心删除了重要的照片会让人头疼,幸运的是,很多时候我可以进行照片恢复。今天会给大家讨论一下删除照片恢复的概率,并且提供几个有效的照片恢复方法,帮助大家应对照片丢失问题。
怎样找回删除的照片?照片恢复完整教程
|
人工智能 资源调度 算法
算法金 | 一个强大的算法模型,GPR !!
高斯过程回归(GPR)是基于高斯过程的非参数贝叶斯方法,用于捕捉数据的非线性关系并提供不确定性估计。它利用核函数描述输入数据的潜在函数,如径向基函数(RBF)用于平滑建模。GPR通过最大化对数似然函数选择超参数。代码示例展示了如何使用`sklearn`库进行GPR,生成模拟数据,训练模型,并用RBF核函数进行预测,最后通过绘图展示预测结果及置信区间。
586 3
算法金 | 一个强大的算法模型,GPR !!
|
网络协议 数据库 网络架构
OSPF 四种设备角色:IR、ABR、BR、ASBR
【4月更文挑战第5天】
4003 2
OSPF 四种设备角色:IR、ABR、BR、ASBR
|
自然语言处理 搜索推荐 API
【推荐100个unity插件之21】unity实现多语言切换功能——Localization插件的使用
【推荐100个unity插件之21】unity实现多语言切换功能——Localization插件的使用
1149 0
|
前端开发 网络架构
计算机网络——第一章时延部分深入学习、相关习题及详细解析
计算机网络——第一章时延部分深入学习、相关习题及详细解析
832 0
|
JavaScript 数据可视化 前端开发
ECharts 的配置语法:配置选项、数据格式、样式设置
ECharts 的配置语法:配置选项、数据格式、样式设置
1121 1
|
存储 缓存 小程序
微信小程序开发笔记—记事本
本文介绍了如何实现记事本功能,有全部代码、详细设计思路以及踩坑点。
1142 2