
我剛剛在 Amazone AMI 上設定了 httpd 2.4,我注意到 httpd.conf 檔案中與 2.2 conf 檔案相比缺少很多指令。例如:ServerTokens、逾時、伺服器簽章、LoadModule均不存在。
我的問題是,如果它們沒有在 httpd.conf 檔案中明確設置,它們是否被設置在其他地方?如果沒有,它們的預設值是什麼以及為什麼它們不在conf檔案中。
我應該手動設定這些指令嗎?
答案1
大多數指令都有預設值。您將在此處找到所有預設值:http://httpd.apache.org/docs/2.4/mod/directives.html
如果未使用它們,則無需擔心將其留空。為了消除任何歧義,有些人更喜歡包含帶有預設值的指令。
另外值得注意的是,2.2 和 2.4 在預設值方面有一些變化:http://httpd.apache.org/docs/2.4/upgrading.html
答案2
在我管理的系統上,ServerTokens/Signature 設定位於「extra/」設定目錄中的單獨包含檔案中。 httpd.conf 底部附近有幾行包含這些預設被註解掉的額外檔案。我確信至少從 v2.2 開始就是這樣,除非我使用的發行版安裝了一組自訂的設定檔。
正如詹姆斯所說,伺服器對大多數事情都有預設設置,只有當你想更改它們時才需要設定。
答案3
我發現 Amazon AMI 包含一行從目錄載入模組的行,這就是我找不到 LoadModule 指令的原因
包含conf.modules.d/*.conf
該目錄中包含以下conf文件
00-base.conf 00-dav.conf 00-lua.conf 00-mpm.conf 00-proxy.conf 01-cgi.conf 10-php.conf