
我已經使用 ColdFusion 工作了很長時間。我腦子裡一直在想的是,為了獲得最大的安全性,您應該在物理上將 Web 伺服器與 ColdFusion 伺服器分開。所以我一直使用 Adobe 所說的「分散式模式」來完成此操作。 IIS 位於一台伺服器上,而 ColdFusion 位於另一台伺服器上。他們像往常一樣透過網路連接器進行通信,儘管是透過網路進行的。
幾年來,我遇到過一些帖子,提到使用反向代理與在分散式模式下運行一樣安全。透過反向代理設置,Web 伺服器和 ColdFusion 伺服器位於同一台實體電腦上,但有一個代理伺服器處理請求並充當 Web 伺服器(基本上)。我仍然認為物理隔離更安全。
在網路上很難找到任何明確的建議。即使在ColdFusion 11 文檔-有關 Web 伺服器設定工具的更多信息,包括有關多宿主和分散式使用的信息,請參閱《配置和管理 ColdFusion》指南。 (儘管在該引用頁面上沒有太多關於它的資訊。)這兩種設定似乎在各種部落格和帖子中都提到過,但我發現人們使用反向代理設定而不是分散式模式設定更常見。沒有什麼具體的,只是我在網路上搜尋時的看法。在分散式模式下運行,Web 伺服器和 ColdFusion 伺服器位於不同的伺服器上,這無疑會增加設定的複雜性。靜態檔案駐留在 Web 伺服器上,CFML 檔案駐留在 ColdFusion 伺服器上。等等。
所以我的問題是,假設其他一切都相同,為了最大的安全性,您使用分散式模式還是反向代理設定?以及您這樣做的一些原因。
不幸的是,ColdFusion 鎖定指南使事情變得混亂。這是我發現的。
在裡面ColdFusion 9 鎖定指南(第 14-15 頁)它指出:
您也可以考慮以分散式模式安裝 ColdFusion。這允許 Web 伺服器駐留在與 ColdFusion 伺服器物理上分開的伺服器上。您也可以將多個 Web 伺服器連接到單一 ColdFusion 伺服器(這在 ColdFusion 9 文件中稱為多宿主)。這種分離可以提供額外的安全性,並且應該在需要最大安全性的環境中考慮。若要安裝分散式模式,請選擇內建 Web 伺服器選項。有關配置分散式模式的信息,請參閱http://www.adobe.com/support/coldfusion/administration/cfmx_in_distributed_mode/cfmx_in_distributed_mode02.html。有關多宿主的詳細信息,請參閱http://help.adobe.com/en_US/ColdFusion/9.0/Admin/WSc3ff6d0ea77859461172e0811cbf364104-7fc3.html。
分隔面向公眾的 Web 伺服器和 ColdFusion 伺服器的另一種方法是使用反向代理。在反向代理設定中,ColdFusion 伺服器仍然安裝有 Web 伺服器,但所有外部用戶端請求都由代理伺服器處理,並且某些請求會傳送至 ColdFusion 伺服器進行處理。
在裡面ColdFusion 10 鎖定指南(第 27 頁)該聲明被精簡為:
為了獲得最大的安全性,請考慮在單獨的實體伺服器上執行 Web 伺服器和 ColdFusion。將面向公眾的 Web 伺服器和 ColdFusion 伺服器分開的一種方法是使用反向代理。
在反向代理設定中,ColdFusion 伺服器仍將安裝 Web 伺服器,但所有外部用戶端請求將由代理伺服器處理,並且只有特定請求將傳送至 ColdFusion 伺服器進行處理。請參閱您的 Web 伺服器文件來設定反向代理。
並且在ColdFusion 11 鎖定指南兩者都沒有提及。看起來它應該位於第 11 頁或第 11 頁左右,這是其他文件中的語句以及運行 Web 伺服器設定工具的位置。我很好奇為什麼 Pete 從最新的文件中刪除了這一點。
當我使用 Adobe ColdFusion 時,我也使用 Railo 標記了這個問題以獲得更多輸入。
答案1
您將「分散式模式」(將 Web 伺服器和 CF 伺服器放在單獨的機器上)混淆為與使用反向代理程式相互排斥。事實上,它們是兩個不同的問題。反向代理只是使用標準 Web 連接器的替代方案。它只會導致您的 Web 伺服器(IIS、Apache、Nginx)將對 CFML 頁面的請求重新導向到 CF 機上給定主機/連接埠上的 HTTP/HTTPS 或 AJP 連接埠。您可以將反向代理程式設定為代理到本機主機或網路上的任何其他伺服器,只要適當的連接埠開啟即可。
前任。您可以在Tomcat 中的連接埠8009 上啟用AJP 偵聽器。該連接埠。
我個人從未處理過分散式模式,因為針對我的 Web 伺服器的攻擊媒介數量似乎要少得多。但如果您選擇使用“分散式模式”,則可以使用股票連接器或反向代理來實現。由你決定。
答案2
分散式模式或反向代理設定將提供大部分相似的安全級別,但分散式模式將具有額外的高可用性和可靠性伺服器方案。