從網路上的本機伺服器重新導向 HTTP 流量

從網路上的本機伺服器重新導向 HTTP 流量

我有一個運行 Apache/PHP 伺服器的 Web 伺服器(我們稱之為 C1),並且它是連接埠轉送的,以便我可以在任何地方存取它。然而,Web 伺服器 LAN 內還有另一台電腦也有 Apache 伺服器(我們稱之為 C2)。我無法更改連接埠轉發,也無法更改 Apache 伺服器(也稱為安裝自訂模組)。

有沒有辦法在C1的目錄中存取C2? (例如,造訪 www.website.org/random_dir 將允許我瀏覽 C2 apache 伺服器的根目錄。)

我試圖盡可能少地更改配置/其他(例如激活模組等)

有可能的解決方案嗎?

答案1

您可以在 C1 上放置腳本,將您的請求轉發到 C2 並顯示其回應。這可以使用網路代理來實現。

嘗試安裝代理伺服器或者php 代理作為第一步,看看其中一個是否滿足您的需求。

使用代理程式時,請記住透過其內部 ip(對 C1 可見)來呼叫 C2。

答案2

您可以在 C1 中的資料夾上放置一個腳本,使用 curl 從 C2 取得資訊。當您造訪 www.website.org/random_dir 時,透過將其命名為index.php,您將獲得您的行為。

然而,要存取其他文件或資料夾,您必須將它們作為變數傳遞,例如: www.website.org/random_dir?folder=another_folder/subfolder&file=my_file

該解決方案適合您的需求嗎?

答案3

反向代理是您嘗試執行的操作的名稱。阿帕奇支持它。

反向代理是指網頁伺服器將 HTTP 請求或 URL 轉送到第二個網頁伺服器(可能在途中修改它),收集第二個網頁伺服器的回應,並傳遞結果(可能在返回時修改結果)。

是一個很好的起點。當/如果我有時間的話,我會用一些例子來更新這個答案。

我會警告您這一點:反向代理非常適合靜態內容和頁面 URL 未在動態或 Javascript 生成內容的任何連結中「硬編碼」的內容。當您有一個Web 應用程式或具有自己的內建Web 伺服器的應用程式(例如Subsonic 或uTorrent 的遠端存取)時,有時您可能會遇到這樣一種情況:Web 應用程式產生的連結指向與您所在位置不同的位置反向代理到.這就是重寫模組發揮作用的地方,它可能會變得混亂。並非所有 Web 應用程式都可以成功進行反向代理。

相關內容