系統架構系列 - 5: 代理伺服器 Proxy

更新於 2024/11/24閱讀時間約 3 分鐘

簡介

這週,我們將介紹在一般網路架構中非常重要的觀念——代理伺服器(Proxy)。代理伺服器位於客戶端與伺服器之間,負責處理轉發、保護和過濾等功能。根據其位置與功能的不同,代理伺服器還可以分為多種類型,而常見的代理伺服器包含Squid、Nginx、HAProxy等。接下來,讓我們深入了解這些類型及其用途吧!

功能

代理伺服器通常包含以下幾個主要功能:

  1. 請求轉發:接收並轉發客戶端的請求至伺服器端。
  2. 響應回傳:將伺服器端的響應回傳給客戶端。
  3. 隱私保護:通過代理伺服器隱藏客戶端的真實IP地址,增強用戶隱私。
  4. 內容過濾:根據設定過濾不當內容,限制訪問某些網站。
  5. 性能優化:利用緩存技術減少重複請求,提高網路速度和效能。
  6. 訪問控制:管理哪些用戶或設備可以訪問特定資源,以加強安全性。
  7. 負載平衡:根據設定分散伺服器的負載,提升整體系統的效能和穩定性。
  8. 日誌記錄與監控:記錄經過代理伺服器的各種活動,協助進行問題分析和流量監控。

簡而言之,代理伺服器就像一層保護屏障,讓客戶端與伺服器端不直接接觸,從而提高安全性與隱私保護。

類型

  1. 正向代理(Forward Proxy):客戶端設定的代理伺服器,讓伺服器端難以追蹤使用者。
  2. 反向代理(Reverse Proxy):伺服器端設定的代理伺服器,讓客戶端難以追蹤伺服器。也會用於負載均衡。
  3. 透明代理(Transparent Proxy):通常用於內容過濾和流量監控。
  4. 高匿名代理(Elite Proxy):高度隱私保護的代理,能完全隱藏客戶端的 IP 地址。
  5. VPN(虛擬私人網絡):不太算是傳統的代理,但 VPN 也會充當中間層,通過加密通道保護用戶的數據隱私,並隱藏真實 IP 地址。

Web 伺服器

Web 伺服器與代理伺服器之間算是互補的關係。簡單來說,Web 伺服器主要用來儲存、處理和傳送網站內容,因此當客戶端發出請求時,Web 伺服器會根據請求提供相應的資料;相比之下,代理伺服器並不儲存任何資料,僅作為客戶端與伺服器之間的中間角色。

常用的 Web 伺服器包括 Apache HTTP Server、Nginx [註1]、IIS 等。這些伺服器各具特色,能夠滿足不同的需求和場景。

相關小知識

  1. Apache 日誌:一般所說的 access log 通常是指 Apache 伺服器的訪問日誌,這些日誌記錄了所有進入的請求,包括請求的時間、方法、URL、響應狀態碼以及用戶代理等資訊,很適合用來監控伺服器性能和使用者行為。
  2. 翻牆行為:我們所謂的「翻牆」實際上是一種隱藏 IP 地址的行為,通常是借助代理伺服器的「請求轉發」功能來達成的。
  3. API 重試機制:在發出 API 請求時,我們通常會設定重試次數(通常為3次),以便在未收到回應時再次嘗試。對於發出 API 請求的一方來說,即使過程中嘗試了兩次,最終的日誌紀錄仍然只會顯示一次請求。相比之下,對於接收 API 請求的一方(包括中間的代理伺服器),每次重試都會產生一筆獨立的日誌紀錄,因此同樣的 API 請求可能會記錄多次


[註1] Nginx 是一個高性能的 Web 伺服器和反向代理伺服器,能夠同時擔任兩者的角色,廣泛應用於處理高流量的網站。

參考資料:

  1. https://zh.wikipedia.org/zh-tw/代理服务器
  2. https://www.jyt0532.com/2019/11/18/proxy-reverse-proxy/
avatar-img
2會員
24內容數
test
留言0
查看全部
avatar-img
發表第一個留言支持創作者!
林柏宇的沙龍 的其他內容
在資料分析中,資料處理和可視化是不可或缺的兩項重要任務。本文介紹了 ELK 系統(包括 Elasticsearch、Logstash 和 Kibana)以及 Grafana 的核心功能及其在日誌管理和資料分析中的作用,幫助讀者理解這些工具如何提升資料處理效率和可視化效果,從而更好地應用於真實場景中。
在系統架構領域,高併發、高可用及高性能是不可或缺的概念。高併發涉及系統在短時間內處理大量請求的能力;高可用性關注系統在故障情況下的持續運作能力;而高性能則關注系統快速處理任務、資源利用率高和低延遲的表現,並針對每個概念提供具體的實現方式及最佳實踐,幫助讀者瞭解如何在實務中提升系統的整體效能。
本文探討微服務架構的設計理念,包括如何解耦服務之間的依賴性,以及其在臺灣企業推行的現狀與優點。微服務架構能夠提高系統的擴展性和容錯性,解決高耦合問題,特別適合快速迭代的開發環境。文章還提供瞭解耦的實用建議,幫助開發團隊維護和測試微服務,使系統更加模組化、靈活且可維護。
在這篇文章中,我們深入探討系統架構的不同層面,尤其關注於軟體層面。文章介紹了幾種常見的架構模式,包括一體化架構、微服務架構、事件驅動架構、服務導向架構及無服務架構,並討論了其優缺點。此外,我們還探討了技術選型與性能優化的重要性,並提供實用的建議,幫助讀者在未來的軟體開發中做出更明智的選擇。
本文彙整了一些關於 SQL 效能優化的技巧,提供讀者更快的資料處理方案。包括如何清空資料表、獲取最新資料、總和資料時的可能問題以及評估 SQL 語句效能的方法。通過合理的指令使用,能夠大幅提升查詢效率並降低錯誤發生的機率。適合資料庫管理者和程式開發者作為參考。
本文介紹資料庫鎖(DB lock)的基本概念、鎖的類型及其優缺點。通過對資料庫鎖的深入探討,我們可以理解如何在多用戶環境下保護資料的一致性與完整性,並瞭解排他鎖、共享鎖、意向鎖等不同類型鎖的作用。此外,文章還分析了鎖競爭、鎖等待和死鎖等可能的問題,幫助讀者更全面地掌握資料庫鎖的運作機制。
在資料分析中,資料處理和可視化是不可或缺的兩項重要任務。本文介紹了 ELK 系統(包括 Elasticsearch、Logstash 和 Kibana)以及 Grafana 的核心功能及其在日誌管理和資料分析中的作用,幫助讀者理解這些工具如何提升資料處理效率和可視化效果,從而更好地應用於真實場景中。
在系統架構領域,高併發、高可用及高性能是不可或缺的概念。高併發涉及系統在短時間內處理大量請求的能力;高可用性關注系統在故障情況下的持續運作能力;而高性能則關注系統快速處理任務、資源利用率高和低延遲的表現,並針對每個概念提供具體的實現方式及最佳實踐,幫助讀者瞭解如何在實務中提升系統的整體效能。
本文探討微服務架構的設計理念,包括如何解耦服務之間的依賴性,以及其在臺灣企業推行的現狀與優點。微服務架構能夠提高系統的擴展性和容錯性,解決高耦合問題,特別適合快速迭代的開發環境。文章還提供瞭解耦的實用建議,幫助開發團隊維護和測試微服務,使系統更加模組化、靈活且可維護。
在這篇文章中,我們深入探討系統架構的不同層面,尤其關注於軟體層面。文章介紹了幾種常見的架構模式,包括一體化架構、微服務架構、事件驅動架構、服務導向架構及無服務架構,並討論了其優缺點。此外,我們還探討了技術選型與性能優化的重要性,並提供實用的建議,幫助讀者在未來的軟體開發中做出更明智的選擇。
本文彙整了一些關於 SQL 效能優化的技巧,提供讀者更快的資料處理方案。包括如何清空資料表、獲取最新資料、總和資料時的可能問題以及評估 SQL 語句效能的方法。通過合理的指令使用,能夠大幅提升查詢效率並降低錯誤發生的機率。適合資料庫管理者和程式開發者作為參考。
本文介紹資料庫鎖(DB lock)的基本概念、鎖的類型及其優缺點。通過對資料庫鎖的深入探討,我們可以理解如何在多用戶環境下保護資料的一致性與完整性,並瞭解排他鎖、共享鎖、意向鎖等不同類型鎖的作用。此外,文章還分析了鎖競爭、鎖等待和死鎖等可能的問題,幫助讀者更全面地掌握資料庫鎖的運作機制。
你可能也想看
Google News 追蹤
Thumbnail
徵的就是你 🫵 超ㄅㄧㄤˋ 獎品搭配超瞎趴的四大主題,等你踹共啦!還有機會獲得經典的「偉士牌樂高」喔!馬上來參加本次的活動吧!
Thumbnail
隨著理財資訊的普及,越來越多台灣人不再將資產侷限於台股,而是將視野拓展到國際市場。特別是美國市場,其豐富的理財選擇,讓不少人開始思考將資金配置於海外市場的可能性。 然而,要參與美國市場並不只是盲目跟隨標的這麼簡單,而是需要策略和方式,尤其對新手而言,除了選股以外還會遇到語言、開戶流程、Ap
在數位化日益深入的今天,駭客網路攻擊成為了各種組織和個人面臨的嚴重挑戰。本文將探討駭客網路攻擊的種類、影響及其防範策略,幫助讀者更好地理解和應對這一重要的安全問題。 什麼是駭客網路攻擊? 駭客網路攻擊是指未經授權的個人或組織通過技術手段,針對計算機系統、網路基礎設施或數據進行的攻擊行為。攻擊者可
描述我所瞭解的 Web 攻擊技術 何謂網路攻擊? 駭客透過各種系統漏洞或惡意程式,搭配許多技術和工具進行攻擊。目標是要在企業或個人電腦網路中損害、取得控制權或存取重要的文件和系統。 例如: XSS(Cross-Site Scripting,跨站腳本攻擊/跨網站指令碼):指網路罪犯透過存在安全
Thumbnail
政府、法令是資訊安全的最後防線,本文從政府及法律層面探討網路安全議題,以及資通安全管理法和個資法的重要性。政府擴大進用資安人才,以及執行資通安全管理法、個資法的相關規定,對維護數位平臺安全有著重要作用。除此之外,文章還強調了民眾的資安素養及企業、政府的連手防禦對抗駭客組織及詐騙集團的重要性。
Thumbnail
談了許多網路安全的議題,提醒民眾要注意哪些事情,建構哪些網路安全思維,讓我們可以降低踏入詐騙陷阱的風險。但除了民眾本身要不斷學習、提升防詐意識外,是不是還有其他方面的作法呢? 本文就來聊聊在企業端可以做些什麼。 要打造一個密不可破的防護網,企業端就不能夠缺席。 舉幾個例子讓大家知道。
Thumbnail
徵的就是你 🫵 超ㄅㄧㄤˋ 獎品搭配超瞎趴的四大主題,等你踹共啦!還有機會獲得經典的「偉士牌樂高」喔!馬上來參加本次的活動吧!
Thumbnail
隨著理財資訊的普及,越來越多台灣人不再將資產侷限於台股,而是將視野拓展到國際市場。特別是美國市場,其豐富的理財選擇,讓不少人開始思考將資金配置於海外市場的可能性。 然而,要參與美國市場並不只是盲目跟隨標的這麼簡單,而是需要策略和方式,尤其對新手而言,除了選股以外還會遇到語言、開戶流程、Ap
在數位化日益深入的今天,駭客網路攻擊成為了各種組織和個人面臨的嚴重挑戰。本文將探討駭客網路攻擊的種類、影響及其防範策略,幫助讀者更好地理解和應對這一重要的安全問題。 什麼是駭客網路攻擊? 駭客網路攻擊是指未經授權的個人或組織通過技術手段,針對計算機系統、網路基礎設施或數據進行的攻擊行為。攻擊者可
描述我所瞭解的 Web 攻擊技術 何謂網路攻擊? 駭客透過各種系統漏洞或惡意程式,搭配許多技術和工具進行攻擊。目標是要在企業或個人電腦網路中損害、取得控制權或存取重要的文件和系統。 例如: XSS(Cross-Site Scripting,跨站腳本攻擊/跨網站指令碼):指網路罪犯透過存在安全
Thumbnail
政府、法令是資訊安全的最後防線,本文從政府及法律層面探討網路安全議題,以及資通安全管理法和個資法的重要性。政府擴大進用資安人才,以及執行資通安全管理法、個資法的相關規定,對維護數位平臺安全有著重要作用。除此之外,文章還強調了民眾的資安素養及企業、政府的連手防禦對抗駭客組織及詐騙集團的重要性。
Thumbnail
談了許多網路安全的議題,提醒民眾要注意哪些事情,建構哪些網路安全思維,讓我們可以降低踏入詐騙陷阱的風險。但除了民眾本身要不斷學習、提升防詐意識外,是不是還有其他方面的作法呢? 本文就來聊聊在企業端可以做些什麼。 要打造一個密不可破的防護網,企業端就不能夠缺席。 舉幾個例子讓大家知道。