apache2 可以在沒有conf 檔案的情況下運作嗎?

apache2 可以在沒有conf 檔案的情況下運作嗎?

碰巧 apache2 conf 檔案包含帶有密碼和其他有價值資料的環境變數。 apache2 啟動後我刪除了我的conf 檔案。我知道為了重新啟動,我將不得不再次建立這些文件。

apache2 將按預期繼續工作多久(顯示我的網站)? apache2啟動後會讀取conf檔嗎?

我問是因為碰巧我沒有重新啟動伺服器,但它們顯示 apache ubuntu 預設頁面

ps -輔助 | grep 阿帕契

www-data 27019  0.0  0.0 424372 12780 ?        S    15:52   0:00 /usr/sbin/apache2 -k start
www-data 27963  0.0  0.0 424372 12800 ?        S    16:46   0:00 /usr/sbin/apache2 -k start
www-data 27964  0.0  0.0 423968 12500 ?        S    16:46   0:00 /usr/sbin/apache2 -k start
www-data 28159  0.0  0.0 423968 12424 ?        S    16:59   0:00 /usr/sbin/apache2 -k start
www-data 28607  0.0  0.0 423968 11044 ?        S    17:19   0:00 /usr/sbin/apache2 -k start
ubuntu   28688  0.0  0.0  12948   956 pts/0    R+   17:23   0:00 grep --color=auto apache
root     28766  0.0  0.2 423888 34928 ?        Ss    2018  06:14 /usr/sbin/apache2 -k start

UPD:我知道這是刪除conf 檔案的不好方法。

答案1

正如 @djsmiley2k 所說,如果啟動時設定檔存在,Apache 將在沒有設定檔的情況下繼續運作。不,正如他所說,這不是一個好的解決方案,而且您也知道。

也就是說,在回答 apache2 是否會工作或者不......我會說“」。

大多數系統會因為各種原因自動重新啟動 Apache 和/或重新載入 Apache 設定。例如,Apache 通常會在其日誌檔案輪換時重新啟動。其中許多自動化任務對於基於 Apache 的 Web 伺服器的正常運作是必要的。您還必須自動重新建立設定檔...這意味著您必須將密碼儲存在其他地方,此時您已經達到了刪除設定檔的目的。

此外,還會出現計劃外的重啟…例如 apache2 崩潰時。儘管 Apache 很穩定,但它並不是刀槍不入的。 SOP 將採用某種方法來監視 Apache 進程,並在其掛起或崩潰時自動重新啟動它。許多現代系統都使用 systemd 來實現此目的。同樣,您可以將設定檔的自動重建新增至重新啟動過程...但這樣做仍然達不到刪除設定檔的目的。

這裡真正的解決方案是保護您的敏感資料。環境變數應該由您用來管理 Apache 進程的任何工具來設定。 Systemd(例如)提供 工具為了這。密碼用於本地認證應該加密並儲存在只有運行 Apache 的用戶(即root)可讀/可寫的文件中,尤其是它讀取文件的用戶(即www-data)不能讀取/寫入的文件中。

如果您有用於遠端身份驗證的密碼(即從您的網頁伺服器到另一個伺服器或服務的身份驗證...例如資料庫),那麼您應該考慮將它們替換為預先共享的公鑰/私鑰,例如用於ssh 驗證的密碼...更不用說遠端伺服器之間的加密(說真的,ssh 隧道,好東西)…再次,儲存在只有啟動 Apache 的特權使用者才能存取的檔案中。而且,老實說,Apache 本身不應該處理對另一個服務進行身份驗證的任務...

答案2

一旦 apache 啟動,就刪除這些文件,它將繼續運行,直到需要再次讀取這些文件(例如,如果您重新啟動守護程序)。

這似乎是一個X->Y問題,而您實際上並未陳述您的問題,只是提出了一個有關您認為解決方案的問題。但這不是一個可取的解決方案。

答案3

雖然我同意不將關鍵資料直接儲存在 apache conf 檔案中,但這裡是一個不同的想法。當然,不是任何類型的密碼。

您可以在conf.d 資料夾中建立自己的*.conf 檔案。 Apache 仍然會載入它們。

然後將所有有價值的資料遷移到新的 .conf 檔案。現在您只需刪除並重新建立 1 個檔案。

因此 apache 仍然有一些可用的配置數據,並且不會作為空白 apache 安裝啟動。顯然 documentRoot 資料夾是最重要的。

相關內容