⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 chinaunix_net - 我刚学习squid时的参考文档,感觉永远是经典之作。.htm

📁 Squid入门资料
💻 HTM
📖 第 1 页 / 共 5 页
字号:
            <BR><BR>五、根据需求配置你的squid——进阶篇&nbsp; <BR><BR>5.1其它配置选项&nbsp; 
            <BR>在进行squid的一些高级应用之前,我们有必要对其他有用的配置选项作一个全面的了解。下面我们分类来讲一讲这些选项,用于某些特殊应用的选项我们将放在讲该种应用时来讲。&nbsp; 
            <BR><BR>5.1.1网络选项&nbsp; <BR>1.tcp_incoming_address&nbsp; 
            <BR>tcp_outgoing_address&nbsp; <BR>udp_incoming_address&nbsp; 
            <BR>udp_outgoing_address&nbsp; <BR>说明:&nbsp; 
            <BR>tcp_incoming_address指定监听来自客户或其他squid代理服务器的绑定ip地址;&nbsp; 
            <BR>tcp_outgoing_address指定向远程服务器或其他squid代理服务器发起连接的ip地址&nbsp; 
            <BR>udp_incoming_address为ICP套接字指定接收来自其他squid代理服务器的包的ip地址&nbsp;udp_outgoing_address为ICP套接字指定向其他squid代理服务器发送包的ip地址;&nbsp; 
            <BR>缺省为没有绑定任何ip地址。该绑定地址可以用ip指定,也可以用完整的域名指定。&nbsp; 
            <BR><BR>5.1.2交换空间设定选项&nbsp; 
            <BR>1.cache_swap_low&nbsp;(percent,&nbsp;0-100)&nbsp; 
            <BR>cache_swap_high&nbsp;(percent,&nbsp;0-100)&nbsp; 
            <BR>说明:squid使用大量的交换空间来存储对象。那么,过了一定的时间以后,该交换空间就会用完,所以还必须定期的按照某种指标来将低于某个水平线的对象清除。squid使用所谓的“最近最少使用算法”(LRU)来做这一工作。当已使用的交换空间达到cache_swap_high时,squid就根据LRU所计算的得到每个对象的值将低于某个水平线的对象清除。这种清除工作一直进行直到已用空间达到cache_swap_low。这两个值用百分比表示,如果你所使用的交换空间很大的话,建议你减少这两个值得差距,因为这时一个百分点就可能是几百兆空间,这势必影响squid的性能。缺省为:&nbsp; 
            <BR>cache_swap_low&nbsp;90&nbsp; <BR>cache_swap_high&nbsp;95&nbsp; 
            <BR>2.maximum_object_size&nbsp; 
            <BR>说明:大于该值得对象将不被存储。如果你想要提高访问速度,就请降低该值;如果你想最大限度地节约带宽,降低成本,请增加该值。单位为K,缺省值为:&nbsp; 
            <BR>maximum_object_size&nbsp;4096&nbsp;KB&nbsp; 
            <BR><BR>5.1.3有关日志的选项&nbsp; <BR>1.cache_access_log&nbsp; 
            <BR>说明:指定客户请求记录日志的完整路径(包括文件的名称及所在的目录),该请求可以是来自一般用户的HTTP请求或来自邻居的ICP请求。缺省值为:&nbsp; 
            <BR>cache_access_log&nbsp;/var/log/squid/access.log&nbsp; 
            <BR>如果你不需要该日志,可以用以下语句取消:cache_access_log&nbsp;none&nbsp; 
            <BR>2.cache_store_log&nbsp; 
            <BR>说明:指定对象存储记录日志的完整路径(包括文件的名称及所在的目录)。该记录表明哪些对象被写到交换空间,哪些对象被从交换空间清除。缺省路径为:&nbsp; 
            <BR>cache_log&nbsp;/var/log/squid/cache.log&nbsp; 
            <BR>如果你不需要该日志,可以用以下语句取消:cache_store_log&nbsp;none&nbsp; 
            <BR>3.cache_log&nbsp; 
            <BR>说明:指定squid一般信息日志的完整路径(包括文件的名称及所在的目录)。&nbsp; 
            <BR>缺省路径为:cache_log&nbsp;/var/log/squid/cache.log&nbsp; 
            <BR>4.cache_swap_log&nbsp; 
            <BR>说明:该选项指明每个交换空间的“swap.log”日志的完整路径(包括文件的名称及所在的目录)。该日志文件包含了存储在交换空间里的对象的元数据(metadata)。通常,系统将该文件自动保存在第一个“cache_dir”说定义的顶级目录里,但是你也可以指定其他的路径。如果你定义了多个“cache_dir”,则相应的日志文件可能是这样的:&nbsp; 
            <BR>cache_swap_log.00&nbsp; <BR>cache_swap_log.01&nbsp; 
            <BR>cache_swap_log.02&nbsp; <BR>后面的数字扩展名与指定的多个“cache_dir”一一对应。&nbsp; 
            <BR>需要注意的是,最好不要删除这类日志文件,否则squid将不能正常工作。&nbsp; 
            <BR>5.pid_filename&nbsp; 
            <BR>说明:指定记录squid进程号的日志的完整路径(包括文件的名称及所在的目录)。缺省路径为&nbsp; 
            <BR>pid_filename&nbsp;/var/run/squid.pid&nbsp; 
            <BR>如果你不需要该文件,可以用以下语句取消:pid_filename&nbsp;none&nbsp; 
            <BR>6.debug_options&nbsp; 
            <BR>说明:控制作日志时记录信息的多寡。可以从两个方面控制:section控制从几个方面作记录;level控制每个方面的记录的详细程度。推荐的方式(也是缺省方式)是:debug_options&nbsp;ALL,1&nbsp; 
            <BR>即,对每个方面都作记录,但详细程度为1(最低)。&nbsp; <BR>7.log_fqdn&nbsp;on|off&nbsp; 
            <BR>说明:控制在&nbsp;access.log&nbsp;中对用户地址的记录方式。打开该选项时,squid记录客户的完整域名,取消该选项时,squid记录客户的ip地址。注意,如果打开该选项会增加系统的负担,因为squid还得进行客户ip的DNS查询。缺省值为:log_fqdn&nbsp;off&nbsp; 
            <BR><BR>5.1.4有关外部支持程序的选项&nbsp; <BR>1.ftp_user&nbsp; 
            <BR>说明:设置登录匿名ftp服务器时的提供的电子邮件地址,登录匿名ftp服务器时要求用你的电子邮件地址作为登录口令(更多的信息请参看本书的相关章节)。需要注意的是,有的匿名ftp服务器对这一点要求很苛刻,有的甚至会检查你的电子邮件的有效性。缺省值为:ftp_user&nbsp;Squid@&nbsp; 
            <BR>2.ftp_list_width&nbsp; 
            <BR>说明:设置ftp列表的宽度,如果设得太小将不能的浏览到长文件名。缺省值为:&nbsp;ftp_list_width&nbsp;32&nbsp; 
            <BR>3.cache_dns_program&nbsp; 
            <BR>说明:指定DNS查询程序的完整路径(包括文件的名称及所在的目录)。缺省路径为:&nbsp; 
            <BR>cache_dns_program&nbsp;/usr/lib/squid/dnsserver&nbsp; 
            <BR>4.dns_children&nbsp; 
            <BR>说明:设置DNS查询程序的进程数。对于大型的登录服务器系统,建议该值至少为10。最大值可以是32,缺省设置为5个。注意,如果你任意的降低该值,可能会使系统性能急剧降低,因为squid主进程要等待域名查询的结果。没有必要减少该值,因为DNS查询进程并不会消耗太多的系统的资源。&nbsp; 
            <BR>5.dns_nameservers&nbsp; 
            <BR>说明:指定一个DNS服务器列表,强制squid使用该列表中的DNS服务器而非使用/etc/resolv.conf文件中定义的DNS服务器。你可以这样指定多个DNS服务器:dns_nameservers&nbsp;10.0.0.1&nbsp;192.172.0.4&nbsp; 
            <BR>缺省设置为:dns_nameservers&nbsp;none&nbsp; 
            <BR>6.unlinkd_program&nbsp; <BR>说明:指定文件删除进程的完整路径。&nbsp; 
            <BR>缺省设置为:&nbsp; 
            <BR>unlinkd_program&nbsp;/usr/lib/squid/unlinkd&nbsp; 
            <BR>7.pinger_program&nbsp; 
            <BR>说明:指定ping进程的完整路径。该进程被squid利用来测量与其他邻居的路由距离。该选项只在你启用了该功能时有用。缺省为:&nbsp; 
            <BR>pinger_program&nbsp;/usr/lib/squid/pinger&nbsp; 
            <BR>8.authenticate_program&nbsp; 
            <BR>说明:指定用来进行用户认证的外部程序的完整路径。squid的用户认证功能我们将在后面的章节讲述。缺省设置为不认证。&nbsp; 
            <BR><BR>5.1.5用户访问控制选项&nbsp; <BR>1.request_size&nbsp;(KB)&nbsp; 
            <BR>说明:设置用户请求通讯量的最大允许值(单位为KB)。如果用户用POST方法请求时,应该设一个较大的值。缺省设置为:&nbsp; 
            <BR>request_size&nbsp;100&nbsp;KB&nbsp; <BR>2.reference_age&nbsp; 
            <BR>说明:squid根据对象的LRU(最近最少使用算法)来清除对象,squid依据使用磁盘空间的总量动态地计算对象的LRU年龄。我们用reference_age定义对象的最大LRU年龄。如果一个对象在指定的reference_age内没有被访问,squid将删除该对象。缺省值为一个月。你可以使用如下所示的时间表示方法。&nbsp; 
            <BR>1&nbsp;week&nbsp; <BR>3.5&nbsp;days&nbsp; 
            <BR>4&nbsp;months&nbsp; <BR>2.2&nbsp;hours&nbsp; 
            <BR>3.quick_abort_min&nbsp;(KB)&nbsp; 
            <BR>quick_abort_max&nbsp;(KB)&nbsp; 
            <BR>quick_abort_pct&nbsp;(percent)&nbsp; 
            <BR>说明:控制squid是否继续传输被用户中断的请求。当用户中断请求时,squid将检测&nbsp; 
            <BR>quick_abort&nbsp;的值。如果剩余部分小于“quick_abort_min”指定的值,squid&nbsp;将继续完成剩余部分的传输;如果剩余部分大于“quick_abort_max”指定的值,squid&nbsp;将终止剩余部分的传输;如果已完成“quick_abort_pct”指定的百分比,squid将继续完成剩余部分的传输。缺省的设置为:&nbsp; 
            <BR>quick_abort_min&nbsp;16&nbsp;KB&nbsp; 
            <BR>quick_abort_max&nbsp;16&nbsp;KB&nbsp; 
            <BR>quick_abort_pct&nbsp;95&nbsp; <BR><BR>5.1.6各类超时设置选项&nbsp; 
            <BR>1.negative_ttl&nbsp;time-units&nbsp; 
            <BR>说明:设置消极存储对象的生存时间。所谓的消极存储对象,就是诸如“连接失败”及"404&nbsp;Not&nbsp;Found"等一类错误信息。缺省设置为:negative_ttl&nbsp;5&nbsp;minutes&nbsp; 
            <BR>2.positive_dns_ttl&nbsp;time-units&nbsp; 
            <BR>说明:设置缓存成功的DNS查询结果的生存时间。缺省为6小时。&nbsp; 
            <BR>positive_dns_ttl&nbsp;6&nbsp;hours&nbsp; 
            <BR>3.negative_dns_ttl&nbsp;time-units&nbsp; 
            <BR>说明:设置缓存失败的DNS查询结果的生存时间。缺省为5分钟。&nbsp; 
            <BR>negative_dns_ttl&nbsp;5&nbsp;minutes&nbsp; 
            <BR>4.connect_timeout&nbsp;time-units&nbsp; 
            <BR>说明:设置squid等待连接完成的超时值。缺省值为2分钟。&nbsp; 
            <BR>connect_timeout&nbsp;120&nbsp;seconds&nbsp; 
            <BR>5.read_timeout&nbsp;time-units&nbsp; 
            <BR>说明:如果在指定的时间内squid尚未从被请求的服务器读入任何数据,则squid将终止该客户请求。缺省值为15分钟。&nbsp; 
            <BR>read_timeout&nbsp;15&nbsp;minutes&nbsp; 
            <BR>6.request_timeout&nbsp; 
            <BR>说明:设置在建立与客户的连接后,squid将花多长时间等待客户发出HTTP请求。缺省值为30秒。&nbsp; 
            <BR>request_timeout&nbsp;30&nbsp;seconds&nbsp; 
            <BR>7.client_lifetime&nbsp;time-units&nbsp; 
            <BR>说明:设置客户在与squid建立连接后,可以将该连接保持多长时间。&nbsp; 
            <BR>注意,因为客户建立的每个连接都会消耗一定的系统资源,所以如果你是为一个大型网络提供代理服务的话,一定要正确地修改该值。因为如果同一时间的连接数量太大的话,可能会消耗大量的系统资源,从而导致服务器宕机。缺省值为1天,该值太大了,建议根据你自己的情况适当减小该值。&nbsp; 
            <BR>client_lifetime&nbsp;1&nbsp;day&nbsp; 
            <BR>8.half_closed_clients&nbsp;on/off&nbsp; 
            <BR>说明:有时候由于用户的不正常操作,可能会使与squid的TCP连接处于半关闭状态,&nbsp; 
            <BR>这时候,该TCP连接的发送端已经关闭,而接收端正常工作。缺省地,squid将一直保持这种处于半关闭状态的TCP连接,直到返回套接字的读写错误才将其关闭。如果将该值设为off,则一旦从客户端返回“no&nbsp;more&nbsp;data&nbsp;to&nbsp;read”的信息,squid就立即关闭该连接。half_closed_clients&nbsp;on&nbsp; 
            <BR>9.pconn_timeout&nbsp; 
            <BR>说明:设置squid在与其他服务器和代理建立连接后,该连接闲置多长时间后被关闭。缺省值为120秒。&nbsp; 
            <BR>pconn_timeout&nbsp;120&nbsp;seconds&nbsp; 
            <BR>10.ident_timeout&nbsp; <BR>说明:设置squid等待用户认证请求的时间。缺省值为10秒。&nbsp; 
            <BR>ident_timeout&nbsp;10&nbsp;seconds&nbsp; 
            <BR>11.shutdown_lifetime&nbsp;time-units&nbsp; 
            <BR>说明:当收到SIGTERM&nbsp;或者&nbsp;SIGHUP&nbsp;信号后,&nbsp;squid将进入一种shutdown&nbsp;pending的模式,等待所有活动的套接字关闭。在过了shutdown_lifetime所定义的时间后,所有活动的用户都将收到一个超时信息。缺省值为30秒。&nbsp; 
            <BR>shutdown_lifetime&nbsp;30&nbsp;seconds&nbsp; 
            <BR><BR>5.1.7管理参数选项&nbsp; <BR>1.cache_mgr&nbsp; 
            <BR>说明:设置管理员邮件地址。缺省为:&nbsp; <BR>cache_mgr&nbsp;root&nbsp; 
            <BR>2.&nbsp;cache_effective_user&nbsp; 
            <BR>cache_effective_group&nbsp; 
            <BR>说明:如果用root启动squid,squid将变成这两条语句指定的用户和用户组。缺省变为squid用户和squid用户组。注意这里指定的用户和用户组必须真是存在于/etc/passwd中。如果用非root帐号启动squid,则squid将保持改用户及用户组运行,这时候,你不能指定小于1024地http_port。&nbsp; 
            <BR>cache_effective_user&nbsp;squid&nbsp; 
            <BR>cache_effective_group&nbsp;squid&nbsp; 
            <BR>3.visible_hostname&nbsp; <BR>说明:定义在返回给用户的出错信息中的主机名。&nbsp; 
            <BR>如:&nbsp;visible_hostname&nbsp;www-cache.foo.org&nbsp; 
            <BR>4.unique_hostname&nbsp; 
            <BR>说明:如果你有一个代理服务器阵列,并且你为每个代理服务器指定了同样的“visible_hostname”,同时你必须为它们指定不同的“unique_hostname”来避免“forwarding&nbsp;loops&nbsp;”(传输循环)发生。&nbsp; 
            <BR><BR>5.1.8其它杂项&nbsp; <BR>1.&nbsp;dns_testnames&nbsp; 
            <BR>说明:设置进行DNS查询测试,如果第一个站点解析成功则立即结束DNS查询测试。如果你不愿意进行DNS查询测试,就不要去掉缺省的设置。&nbsp; 
            <BR>#dns_testnames&nbsp;netscape.com&nbsp;internic.net&nbsp;nlanr.net&nbsp;microsoft.com&nbsp; 
            <BR>2.logfile_rotate&nbsp; 
            <BR>说明:通常,squid会定期的将日志文件更名并打包。比如正在使用的日志文件为access.log,squid会将其更名并打包为access.log.1.gz;过了一定时间后,squid又会将&nbsp; 
            <BR>access.log.1.gz更名为access.log.2.gz并将当前的日志文件更名并打包为access.log.1.gz,以此循环。logfile_rotate所指定的数字即为打包并备份的文件的数量,当达到这一数目时,squid将删除最老的备份文件。缺省值为10。如果你想手动来进行这些操作,你可以用logfile_rotate&nbsp;0来取消自动操作。&nbsp; 
            <BR>3.err_html_text&nbsp; 
            <BR>说明:用该语句定义一个字符串变量,可以用%L在返回给用户的错误信息文件中引用。错误信息文件通常在/etc/squid/errors目录中,这是一些用HTML写成的脚本文件,你可以自己修改它。&nbsp; 
            <BR>4.deny_info&nbsp; 
            <BR>说明:你可以定制自定义的拒绝访问信息文件,并且可以和不同的用户列表相关联。当用户被http_access相关规则拒绝时,squid可以向用户显示你自定义的相应的拒绝访问信息文件。语法为:&nbsp; 
            <BR>Usage:&nbsp;deny_info&nbsp;err_page_name&nbsp;acl&nbsp; 
            <BR>比如:&nbsp; 
            <BR>deny_info&nbsp;ERR_CUSTOM_ACCESS_DENIED&nbsp;bad_guys&nbsp; 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -