欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費電子書(shū)等14項超值服

開(kāi)通VIP
Squid中文權威指南第四章

Squid的配置文件相對規范。它與其他許多unix程序相似。每行以配置指令開(kāi)始,后面跟著(zhù)數字值或關(guān)鍵字。在讀取配置文件時(shí),squid忽略空行和注釋掉的行(以#開(kāi)始)。如下是一些配置行示例:

cache_log /squid/var/cache.log            # define the localhost ACL            acl Localhost src 127.0.0.1/32            connect_timeout 2 minutes            log_fqdn on

某些指令取唯一值。在這些情形下,重復賦予該指令不同的值,將覆蓋前面的值。例如,下面是一個(gè)連接超時(shí)值。第一行無(wú)效,因為第二行覆蓋了它:

connect_timeout 2 minutes            connect_timeout 1 hour

另外,某些指令取列表值。在這些情形下,每一個(gè)新增的值都有效。"擴展方式"指令以這種方法工作:

extension_methods UNGET            extension_methods UNPUT            extension_methods UNPOST

對這些基于列表的指令,你通常能在同一行中賦予多個(gè)值:

extension_methods UNGET UNPUT UNPOST

許多指令有通用類(lèi)型。例如,連接超時(shí)值是一個(gè)時(shí)間規范,在數字后面跟著(zhù)時(shí)間單元。例如:

connect_timeout 3 hours            client_lifetime 4 days            negative_ttl 27 minutes

類(lèi)似的,大量的指令指向文件大小或者內存額度。例如,你可以這樣編寫(xiě)大小規范:十進(jìn)制數字后面跟bytes,KB,MB或GB.例如:

minimum_object_size 12 bytes            request_header_max_size 10 KB            maximum_object_size 187 MB

另一種值得提起的類(lèi)型是觸發(fā)器,它的值是on或者off。許多指令使用該類(lèi)型。例如:

server_persistent_connections on            strip_query_terms off            prefer_direct on

通常,配置文件指令能以任何順序出現。然而,如果某個(gè)指令指向的值被其他指令所定義,那么順序就很重要。訪(fǎng)問(wèn)控制列表是個(gè)好的例子。acl被用在http_access規則之前必須被定義:

acl Foo src 1.2.3.4            http_access deny Foo

squid.conf文件里的許多東西是大小寫(xiě)敏感的,例如指令名。你不能將http_port寫(xiě)成HTTP_port。

默認的squid.conf文件包含了對每個(gè)指令的大量注釋?zhuān)约爸噶畹哪J值。例如:

#  TAG: persistent_request_timeout            #       How long to wait for the next HTTP request on a persistent            #       connection after the previous request completes.            #            #Default:            # persistent_request_timeout 1 minute

每次安裝squid后,當前默認配置文件存放在$prefix/etc目錄下的squid.conf.default。既然指令每次都有所改變,你能參考該文檔,以獲取最近的更新。

該章剩下的部分是關(guān)于在開(kāi)始運行squid之前,你必須知道的少數指令。

4.2 User ID

你可能知道,unix進(jìn)程和文件擁有文件和組屬主的屬性。你必須選擇某個(gè)用戶(hù)和組給squid。該用戶(hù)和組的組合,必須對大部分squid相關(guān)的文件和目錄有讀和寫(xiě)的權限。

我高度推薦創(chuàng )建名為"squid"的用戶(hù)和組。這避免了某人利用squid來(lái)讀取系統中的其他文件。假如不止一個(gè)人擁有對squid的管理權限,你可以將他們加到squid組里。

unix進(jìn)程繼承了它們父進(jìn)程的屬主屬性。那就是說(shuō),假如你以joe用戶(hù)來(lái)啟動(dòng)squid,squid也以joe來(lái)運行。假如你不想以joe來(lái)運行squid,你需要預先改變你的用戶(hù)ID。這是su命令的典型功能。例如:

joe% su - squid            squid% /usr/local/squid/sbin/squid

不幸的是,運行squid并非總是如此簡(jiǎn)單。在某些情況下,你必須以root來(lái)啟動(dòng)squid,這依賴(lài)于你的配置。例如,僅僅root能綁定TCP套接字到特權端口上,如80。假如你必須以root來(lái)啟動(dòng)squid,你必須設置cache_effective_user指令。它告訴squid,在執行完需要特別權限的任務(wù)后,變成哪個(gè)用戶(hù)。例如:

cache_effective_user squid

你提供的該名字必須是有效用戶(hù)(在/etc/passwd文件里)。請注意僅僅當你以root來(lái)啟動(dòng)squid時(shí),你才需要用到該指令。僅僅root有能力來(lái)隨意改變用戶(hù)身份。假如你以joe來(lái)啟動(dòng)squid,它不能改變到squid用戶(hù)。

你可能?chē)L試不設置cache_effective_user,直接以root來(lái)運行squid。假如你試過(guò),你會(huì )發(fā)現squid拒絕運行。這違背了安全規則。假如外部攻擊者有能力危及或利用squid,他能獲取對系統的全部訪(fǎng)問(wèn)權。盡管我們努力使squid安全和少bug,但還是穩重點(diǎn)好。

假如你沒(méi)有設置cache_effective_user,以root來(lái)啟動(dòng)squid,squid使用nobody作為默認值。不管你選擇什么用戶(hù)ID,請確認它有對下面目錄的讀訪(fǎng)問(wèn)權:$prefix/etc,$prefix/libexec,$prefix/share.該用戶(hù)ID也必須有對日志文件和緩存目錄的寫(xiě)訪(fǎng)問(wèn)權。

squid也有一個(gè)cache_effective_group指令,但你也許不必設置它。默認的,squid使用cache_effective_user的默認組(從/etc/passwd文件讀?。?。

4.3 端口號

http_port指令告訴squid在哪個(gè)端口偵聽(tīng)HTTP請求。默認端口是3128:

http_port 3128

假如你將squid作為加速器運行(見(jiàn)15章),你也許該將它設為80。

你能使用附加的http_port行,來(lái)指示squid偵聽(tīng)在多個(gè)端口上。假如你必須支持客戶(hù)組(它們被配置得不一致),這點(diǎn)就經(jīng)常有用。例如,來(lái)自某個(gè)部門(mén)的瀏覽器發(fā)送請求到3128,然而另一個(gè)部門(mén)使用80端口。簡(jiǎn)單的將兩個(gè)端口號列舉出來(lái):

http_port 3128            http_port 8080

你也能使用http_port指令來(lái)使squid偵聽(tīng)在指定的接口地址上。當squid作為防火墻運行時(shí),它有兩個(gè)網(wǎng)絡(luò )接口:一個(gè)內部的和一個(gè)外部的。你可能不想接受來(lái)自外部的http請求。為了使squid僅僅偵聽(tīng)在內部接口上,簡(jiǎn)單的將IP地址放在端口號前面:

http_port 192.168.1.1:3128

4.4 日志文件路徑

我將在第13章討論所有squid的日志細節。你現在你關(guān)注的唯一事情是,squid將它的日志放在何處。默認的日志目錄是squid安裝位置下的logs目錄。例如,假如你在./configure時(shí)沒(méi)有使用--prefix=選項,那么默認的日志文件路徑是/usr/local/squid/var/logs.

你必須確認日志文件所存放的磁盤(pán)位置空間足夠。在squid寫(xiě)日志時(shí)如果接受到錯誤,它會(huì )退出和重啟。該行為的主要理由應引起你的注意。squid想確認你不會(huì )丟失任何重要的日志信息,特別是你的系統被濫用或者被攻擊時(shí)。

squid有三個(gè)主要的日志文件:cache.log,access.log,store.log.第一個(gè)文件即cache.log,包含狀態(tài)性的和調試性的消息。當你剛開(kāi)始運行squid時(shí),你應密切的關(guān)注該文件。假如squid拒絕運行,理由也許會(huì )出現在cache.log文件的結尾處。在正常條件下,該文件不會(huì )變得很大。也請注意,假如你以-s選項來(lái)運行squid,重要的cache.log消息也可被送到你的syslog進(jìn)程。通過(guò)使用cache_log指令,你可以改變該日志文件的路徑:

cache_log /squid/logs/cache.log

access.log文件包含了對squid發(fā)起的每個(gè)客戶(hù)請求的單一行。每行平均約150個(gè)字節。也就是說(shuō),在接受一百萬(wàn)條客戶(hù)請求后,它的體積約是150M。請使用cache_access_log指令來(lái)改變該日志文件的路徑:

cache_access_log /squid/logs/access.log

假如因為某些理由,你不想squid記錄客戶(hù)端請求日志,你能指定日志文件的路徑為/dev/null. store.log文件對大多數cache管理員來(lái)說(shuō)并非很有用。它包含了進(jìn)入和離開(kāi)緩存的每個(gè)目標的記錄。平均記錄大小典型的是175-200字節。然而,squid不在store.log里對cache點(diǎn)擊創(chuàng )建接口,所以它比access.log包含少得多的記錄。請使用cache_store_log指令來(lái)改變它的位置:

cache_store_log /squid/logs/store.log

通過(guò)指定路徑為none,你能輕易的完全禁止store.log日志:

cache_store_log none

假如你不小心,squid的日志文件增加沒(méi)有限制。某些操作系統對單個(gè)文件強制執行2G的大小限制,即使你有充足的磁盤(pán)空間。超過(guò)該限制會(huì )導致寫(xiě)錯誤,這樣squid就會(huì )退出。為了保證日志文件大小合理,你應創(chuàng )建任務(wù)來(lái)有規律的重命名和打包日志。squid有內建功能來(lái)使這個(gè)容易做到。請見(jiàn)13.7章關(guān)于日志輪循的解釋。

4.5 訪(fǎng)問(wèn)控制

在第6章里有更多的關(guān)于訪(fǎng)問(wèn)控制的描述?,F在,我只講述少量的訪(fǎng)問(wèn)控制方法,以使熱心的讀者能快速開(kāi)始使用squid。

squid默認的配置文件拒絕每一個(gè)客戶(hù)請求。在任何人能使用代理之前,你必須在squid.conf文件里加入附加的訪(fǎng)問(wèn)控制規則。最簡(jiǎn)單的方法就是定義一個(gè)針對客戶(hù)IP地址的ACL和一個(gè)訪(fǎng)問(wèn)規則,告訴squid允許來(lái)自這些地址的HTTP請求。squid有許多不同的ACL類(lèi)型。src類(lèi)型匹配客戶(hù)IP地址,squid會(huì )針對客戶(hù)HTTP請求檢查http_access規則。這樣,你需要增加兩行:

acl MyNetwork src 192.168.0.0/16            http_access allow MyNetwork

請將這些行放在正確的位置。http_access的順序非常重要,但是acl行的順序你不必介意。你也該注意默認的配置文件包含了一些重要的訪(fǎng)問(wèn)控制,你不應該改變或刪除它們,除非你完全理解它們的意義。在你第一次編輯squid.conf文件時(shí),請看如下注釋?zhuān)?/p>

# INSERT YOUR OWN RULE(S) HERE TO ALLOW ACCESS FROM YOUR CLIENTS

在該注釋之后,以及"http_access deny all"之前插入你自己的新規則。為了徹底說(shuō)明,如下是一個(gè)合理的初始訪(fǎng)問(wèn)控制配置,包括推薦的默認控制和早先的例子:

acl All src 0/0            acl Manager proto cache_object            acl Localhost src 127.0.0.1/32            acl Safe_ports port 80 21 443 563 70 210 280 488 591 777 1025-65535            acl SSL_ports 443 563            acl CONNECT method CONNECT            acl MyNetwork src 192.168.0.0/16            http_access allow Manager Localhost            http_access deny Manager            http_access deny !Safe_ports            http_access deny CONNECT !SSL_ports            http_access allow MyNetwork            http_access deny All

4.6 可見(jiàn)主機名

希望你不必擔心visible_hostname指令。然而,假如squid不能發(fā)現它所運行的機器的主機名,你就必須設置它。如果發(fā)生這樣的事,squid抱怨和拒絕運行:

% squid -Nd1            FATAL: Could not determine fully qualified hostname.  Please set 'visible_hostname'

有大量的理由使squid需要知道主機名:

  • 主機名出現在squid的錯誤消息里,這幫助用戶(hù)驗證潛在問(wèn)題的源頭。
  • 主機名出現在squid轉發(fā)的cache單元的HTTP Via頭里。當請求到達原始主機時(shí),Via頭包含了在傳輸過(guò)程中涉及的代理列表。squid也使用Via頭來(lái)檢測轉發(fā)環(huán)路。我將在第10章里討論轉發(fā)環(huán)路。
  • squid對特定事務(wù)使用內部URL,例如FTP目錄列表的圖標。當squid對FTP目錄產(chǎn)生HTML頁(yè)面時(shí),它插入小圖標用以指明該目錄中的文件類(lèi)型。圖標URL包含了cache的主機名,以便web瀏覽器能直接從squid請求它們。
  • 每個(gè)從squid響應的HTTP回復包含了X-Cache頭。這并非官方HTTP頭。它是一個(gè)擴展頭,用以指明該響應是cache點(diǎn)擊還是cache丟失。既然請求和響應可能經(jīng)過(guò)多個(gè)cache,每個(gè)X-Cache頭包含了cache報告點(diǎn)擊或丟失的名字。如下是一個(gè)通過(guò)2個(gè)cache的響應示例:
  • HTTP/1.0 200 OK                Date: Mon, 29 Sep 2003 22:57:23 GMT                Content-type: text/html                Content-length: 733                X-Cache: HIT from bo2.us.ircache.net                X-Cache: MISS from bo1.us.ircache.net
  • squid在啟動(dòng)時(shí)試圖自動(dòng)獲取主機名。首先它調用gethostname()函數,這通常能返回正確的主機名。接著(zhù),squid調用gethostbyname()函數嘗試對主機名進(jìn)行DNS查詢(xún)。該函數典型的返回IP地址和系統的規范名。假如gethostbyname()成功,squid在錯誤消息里,Via頭里等地方使用這個(gè)規范名。
  • 因為大量的理由,squid可能不能檢測到它的規范主機名,包括:
  • 主機名可能未設置。
  • 主機名可能從DNS區域或/etc/hosts文件里丟失。
  • squid系統的DNS客戶(hù)端配置可能不正確或丟失。在unix系統上,你該檢查/etc/resolv.conf和/etc/host.conf文件。

假如你看到上述的致命錯誤,你必須修正主機名和DNS信息,或者顯式的給squid指明主機名。在大多數情況下,請確認"hostname"命令返回一個(gè)完全規范的主機名,并且在/etc/hosts文件里增加這個(gè)接口。假如這樣不成功,請在squid.conf里設置可見(jiàn)主機名:

visible_hostname squid.packet-pushers.net

4.7 管理聯(lián)系信息

你應該設置cache_mgr指令作為對用戶(hù)的幫助。它是一個(gè)email地址,假如問(wèn)題發(fā)生,用戶(hù)能寫(xiě)信給它。cache_mgr地址默認出現在squid的錯誤消息里。例如:

cache_mgr squid@web-cache.net

4.8 下一步

在創(chuàng )建了初步的配置文件后,你多少準備首次運行squid了。請遵循下面章節的建議。當你掌握了啟動(dòng)和停止squid后,你該花費一些時(shí)間來(lái)改善配置文件。你可能想增加更高級的訪(fǎng)問(wèn)控制,這在第6章里有描述。既然我在這里沒(méi)有討論磁盤(pán)cache,你該花些時(shí)間閱讀第7和第8章。

本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請點(diǎn)擊舉報。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
Linux上squid服務(wù)的配置
squid日志3
squid訪(fǎng)問(wèn)控制
squid反向代理作web加速-配置詳解5-訪(fǎng)問(wèn)控制 acl指令
nginx+squid+apache web架構
利用反向代理保護WEB服務(wù)器
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導長(cháng)圖 關(guān)注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服

欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久