Squid配置二級代理(父代理)

        如果您希望Squid成爲代理層次結構的一部分,或者您只是希望Squid不直接從Web服務器獲取內容,而是間接從另一個代理獲取內容,那麼請閱讀如何執行此操作。

您可以使用cache_peer指令添加Squid將要求內容的父代理。此外,您可以分別使用always_directnever_direct控制是直接還是間接獲取內容。例如

cache_peer proxy.some-isp.com parent 8080 0 no-query no-digest
never_direct允許所有

會告訴Squid總是從父代理獲取內容,該代理位於proxy.some-isp.com:8080。如果我們不使用第二個指令,可能會出現某些情況,Squid會直接詢問內容並忽略父代理; 這不是我們想要的。

有很多選項我不想在這裏討論,因爲它們有很好的文檔,但是沒有查詢沒有消息說沒有ICP請求或緩存摘要應該發送到父代理(閱讀:應該關閉嘮叨)。

多個父代理

如果您想擁有多個父代理,可以添加更多cache_peer指令; 每個父母一個。現在你可以定義權重循環來控制Squid與代理通信的方式:雖然權重告訴Squid更喜歡一個緩存而不是另一個緩存,但循環嘗試在定義的緩存之間均勻地分佈連接。

首先是兩個父代理的簡單示例:

cache_peer proxy.isp1.com parent 8080 0 no-query no-digest default
cache_peer proxy.isp2.com parent 8080 0 no-query no-digest

如果您定義了多個父代理,則可能需要將其設置爲默認代理,這將用作最後的手段。

重量的一個例子:

cache_peer proxy.isp1.com parent 8080 0 no-query no-digest weight = 1
cache_peer proxy.isp2.com parent 8080 0 no-query no-digest weight = 2

在這個例子中,第二個ISP的代理可能比第一個ISP更受青睞。

這裏有一個循環的例子:

cache_peer proxy.isp1.com parent 8080 round-robin no-query
cache_peer proxy.isp2.com parent 8080 round-robin no-query
cache_peer proxy.isp3.com parent 8080 round-robin no-query

我們代理的所有連接都將在這三個緩存中進行循環。由於Squid平等對待所有父母,因此目前無法在此處定義權重,例如將50%的請求分別轉發給第一個代理,25%分別轉發給第二個和第三個代理。

結論

本文檔介紹瞭如何配置Squid以使用父代理或各種父代理。請查看最新文檔,以瞭解有關最新版Squid中可用的配置詳細信息和功能的更多信息。


文章轉自:https://www.christianschenk.org/blog/using-a-parent-proxy-with-squid/

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章