Linux

如何使用 Apache2 for Windows 配置反向代理

  • November 6, 2009

我在 Linux(Ubuntu)下的 apache2 上啟動並執行反向代理。現在我看到 Windows 下有不同的文件夾結構。我的 linux-conf - 文件在 Windows 下不起作用還是我錯了?

請給我指路

正如 John 所暗示的,安裝在 Windows 上的 Apache 的預設配置是Program Files\Apache2.2\httpd.conf在一個平面文件中。路徑可能有些不同,因為我目前手邊沒有 Windows 機器。大多數 Linux 發行版都有自己的自定義層次結構,如下所示。此範例來自 Debian,可能因其他發行版而異。

  • /etc/apache2/
    • apache2.conf 包提供的配置
    • conf.d/
      • 單個配置文件,通常來自其他包,但也可以是本地配置文件
    • httpd.conf 本地配置文件。覆蓋 apache2.conf 的內容
    • mods-available/
      • 單獨的模組配置文件,由包和任何支持包提供
    • mods-enabled/
      • 中文件的連結mods-availablea2enmod使用和創建/刪除連結a2dismod。創建連結啟用給定的模組。
    • ports.conf 啟用的埠
    • sites-available/
      • 個人VirtualHost風格的配置文件
    • sites-enabled
      • 中文件的連結sites-availablea2ensite使用和創建/刪除連結a2dissite。創建連結啟用給定站點。

我已經描述了所有這些,希望可以更容易地理解如何在 Windows 下複製它。除了在 Windows 下不能很好地支持連結(這在 Vista/Server 2008/Windows 7 中是否發生了變化?),設置這種結構相對容易。但是您必須手動執行此操作,因為預設配置不會為您執行此操作。確保您調整以下內容以匹配您要從中遷移的 Linux 發行版。

  1. 假設 Windows 上的原始配置文件位於\Program Files\Apache2.2\httpd.conf(同樣,這可能不是正確的位置,我需要檢查 Windows 機器以確定),創建以下目錄:
  • \Program Files\Apache2.2\conf.d\
  • \Program Files\Apache2.2\sites-enabled\您不需要sites-available目錄,因為 Windows 不支持連結。如果你願意,你可以添加它們,但事情不會一樣。另外,我建議將模組配置放入 httpd.conf 文件中。由於它們不受包管理器的管理,因此將它們放在一個位置會更容易。
  1. 從 Linuxhttpd.conf文件對 Windows 文件進行任何修改。如果你apache2.conf在 Linux 下有一個文件,這很容易,因為httpd.conf只有apache2.conf.
  2. 如果需要,添加一個ports.conf文件。它的內容也可以存在於 httpd.conf 文件中。
  3. 將 Linux 目錄中存在的文件複製conf.d到 Windows 目錄中。確保文件名以 結尾.conf,如果之前沒有,請添加它。這樣做是為了幫助使目錄解析(在下面設置)更不容易出錯。
  4. 將 Linux 目錄中存在的文件複製sites-enabled到 Windows 目錄中。與第 4 步一樣,確保文件名以 結尾.conf,如果在 Linux 下不存在,則添加它。
  5. 將以下內容添加到 httpd.conf 文件的末尾:
# If you added a ports.conf file, add the following
Include ports.conf
# Include the conf.d files
Include conf.d/*.conf
# Include the enabled sites
Include sites-enabled/*.conf
  1. 重啟阿帕奇。確保檢查並更正任何配置錯誤。

這可能不會讓你 100% 到達那裡,但它應該讓你接近。

引用自:https://serverfault.com/questions/80338