發布時間:2022-12-18 文章來源:深度系統下載 瀏覽:
網絡技術是從1990年代中期發展起來的新技術,它把互聯網上分散的資源融為有機整體,實現資源的全面共享和有機協作,使人們能夠透明地使用資源的整體能力并按需獲取信息。資源包括高性能計算機、存儲資源、數據資源、信息資源、知識資源、專家資源、大型數據庫、網絡、傳感器等。 當前的互聯網只限于信息共享,網絡則被認為是互聯網發展的第三階段。 人們對于結合使用 SSL 和基于名稱的虛擬主機的興趣與日俱增。有些人認為這是不可能的,但是在 Apache 中,您可以通過基于 IP 的虛擬主機實現虛擬主機。在這篇文章中,John Liao 和 Jim Miles 將為您介紹具體做法。 為什么需要在一臺服務器上安置多個 SSL 站點?確實有企業需要在一臺服務器上托管多個 SSL 站點嗎?我們將通過一個真實的場景來解釋這些問題。有創新精神的用戶肯定會為這種思想找到更新穎的用途。 案例研究:兩個應用程序,一臺服務器 在我們公司早期的一個項目中,人力資源(HR)部門希望為一個基于 Web 的福利應用程序提供外部互聯網訪問。用戶大多是從公司網絡內部訪問這個 Web 應用程序的,但是偶爾也會通過外部互聯網訪問它。為了滿足安全需求,我們決定將這個應用程序放在公司網絡內部的一臺服務器上,使用 Apache 的 HTTP 服務器構建一個反向代理服務器。反向代理服務器會終止 SSL 連接,再重新打開另外一個到托管 HR 應用程序的 Web 應用服務器的 SSL 連接。通過在 Apache Web 服務器中添加 mod_security 模塊,即可將反向代理服務器改為應用網關,并為 Web 應用程序提供更高的安全性。HR 部門精心挑選了一個完全限定域名(FQDN),這個域名是用戶友好的,易于記憶。隨后,我們繼續向前推進,獲得了 SSL 證書,我們認為一切就這樣圓滿結束了。 一年的時間很快就過去了。另一個企業 Web 應用程序出現了,它的需求與 HR 應用程序極為相似。它也需要為外部用戶提供訪問能力。外部用戶的數量非常少。大多數訪問都是在公司網絡中進行的。我們立刻想到使用反向代理服務器為這個新的 Web 應用程序提供外部訪問。 但是,這個新的應用程序有點兒麻煩。首先,我們很關心數據中心的物理空間,竭力在一切應用程序的部署中尋求整合服務器的機會。其次,我們必須證明購買額外的反向代理服務器是值得的。這兩個因素結合在一起,促使我們仔細研究如何使用現有的反向代理服務器滿足新 Web 應用程序的需求。惟一的問題是,這個應用程序需要一個與現有 HR 應用程序不同的 FQDN。 我們研究了幾種為新的 Web 應用程序使用現有反向代理服務器的方法。第一種想法是,將新舊兩個應用程序的域名都改為某個通用域名,比如 rppany,并用上下文路徑區分這兩個應用程序。但是,原來的反向代理服務器用戶強烈反對改變域名。如果改變域名,他們必須將域名變更情況通知公司中的所有人,還要修改所有印刷資料,以反映新的 URL。改變域名的成本非常高,而且可能會影響客戶支持部門,他們不可避免地會收到大量用戶投訴。另外,兩個應用程序組都希望保留自己的 FQDN,他們認為自己精心選擇的 FQDN 比這種一般化的 URL 更醒目,而且也是宣傳推廣這些 Web 應用程序的有效手段。 另一個想法是:為什么不注冊一個 DNS 入口,讓它將新的域名指向現有的服務器?這個想法很快就被否決了。在 SSL 應用程序中,SSL 證書必須與用戶請求的 URL 匹配,否則會彈出一個警告消息,指出所請求的 URL 與 SSL 證書的域名不匹配。由于彈出式廣告和惡意軟件日益猖獗,公司中每個訓練有素的人都會取消產生彈出警告框的 Web 交互。根據公司架構標準的要求,生產性 Web 應用程序嚴禁生成彈出警告消息。 另一個建議是:使第二個 SSL 站點駐留在運行第一個站點的服務器的不同端口上。但是,我們覺得這會給用戶帶來過多的困擾,用戶很難同時記住站點 URL 和端口號。如果用戶只輸入 URL 而沒有輸入端口號,他們就會被重定向到 HR 應用程序。這會導致很多問題。 解決方案:IP 別名 最終敲定的解決方案是 IP 別名(IP aliasing)。在尋找這個解決方案時,最需要技巧的部分就是確定正確的術語。最初引入這個概念時,我們聽到了虛擬接口(virtual interface) 和虛擬 IP(virtual IP) 等術語。我們艱難地尋找著關于這些概念的信息;但我們最終意識到,我們正在尋找的東西是通常被稱為 IP 別名功能的概念,這幫助我們找到了關于該主題的更多文獻。IP 別名有時候也稱為網絡接口別名(network interface aliasing) 或邏輯接口(logical interface)。 Linux 系統上的 IP 別名 混雜模式:一個警告 IP 別名背后的概念很簡單:可以在一個網絡接口上配置多個 IP 地址。這樣就能夠在使用單一接口的同一個服務器上運行多個 Web 服務器。設置 IP 別名也非常容易。只需配置系統上的網絡接口,讓它監聽額外的 IP 地址。在 Linux? 系統上,可以使用標準的網絡配置工具(比如 ifconfig 和 route 命令)添加 IP 別名,也可以利用圖形化網絡管理工具。 在一般情況下,會為每塊以太網卡配置一個物理單元號。要想在已經配置的以太網卡上添加額外的 IP 別名,應該為一個接口配置同樣的物理單元號,但是要用一個邏輯單元號來限定它。例如,如果在物理單元號為 eth0 的以太網卡上已經配置了一個現有的 IP 地址,那么可以通過添加一個邏輯單元號 :1 來創建 IP 別名,如清單 1 所示?梢酝ㄟ^遞增邏輯單元號來添加更多的 IP 地址。(注意,需要作為 root 用戶登錄。) 清單 1. 在現有的網絡接口上添加額外的 IP 地址 在您正在配置的系統上,Linux 內核必須支持 IP 別名,這樣才能使用這種技術。如果內核沒有提供這種支持,可能需要重新構建內核。要想了解您的內核是否支持 IP 別名,可檢查 /proc/net/alias* 文件是否存在。 配置了新的 IP 地址之后,要為新的接口設置路由,如清單 2 所示。 清單 2. 為新的 IP 地址添加路由 在創建新的 IP 地址之后,還需要在 /etc/hosts 文件中給這個新地址命名,如清單 3 所示。 清單 3. 為新的 IP 地址命名 Solaris 系統上的 IP 別名 要想在 Solaris? 上設置 IP 別名,使用的命令稍有不同。網絡接口的配置如清單 4 所示。需要作為 root 用戶登錄。 清單 4. 在 Solaris 上添加虛擬 IP 為了讓虛擬 IP 在重啟之后仍然有效,可以將 /etc/hosts 中的 IP 地址或主機名添加到 /etc/hostname.eth0:1 文件中。 在 Linux 和 Solaris 系統上,可以在一塊物理以太網卡上創建多個虛擬接口,讓它們連接到不同子網上的 IP 地址。但是,通常應該避免這么做,因為這會成為兩個子網之間的瓶頸,而且這兩個子網上的所有網絡設備的性能都會因此受損。 IP 別名的其他用途 配置了第二個 IP 地址之后,可以按照 IP 地址將額外的 SSL 站點添加到 Apache Web 服務器的配置文件中,如清單 5 所示。 這樣就行了!我們已經在同一臺服務器、同一塊物理網卡上構建了多個 SSL Web 站點。 清單 5. 兩個 SSL Web 站點的配置 多個 SSL 站點的其他用途 由于我們的 Apache Web 服務器上的通信流量很低,因此可以利用這個反向代理服務器為后端具有類似低流量需求的更多服務器服務。 更大、更強的服務器和網卡不斷涌現,帶寬容量也比以往更高,因此也可以用這種方法來托管多個虛擬 SSL 站點。如果客戶具有提供小額零售業務的低流量站點,而且需要 SSL 安全性,那么您可以為其設置一個提供有限帶寬 SSL 站點的 ISP?梢岳 IP 別名在一個 IP 地址上駐留一個 SSL Web 站點,在另一個地址上提供其他服務,比如 Web 服務。其他可能性還包括設置一個主生產系統和一個故障轉移系統,從而形成備用的 QA 系統和/或 DR 系統,F在,您已經理解了 IP 別名背后的基本概念,那么在設計應用程序時,也就有了更廣闊的可能性。 【相關文章】
網絡的神奇作用吸引著越來越多的用戶加入其中,正因如此,網絡的承受能力也面臨著越來越嚴峻的考驗―從硬件上、軟件上、所用標準上......,各項技術都需要適時應勢,對應發展,這正是網絡迅速走向進步的催化劑。 |
上一篇:移動MPLS及其關鍵技術