Apache-2.2
如何在 Apache 中創建虛擬主機以避免記憶體中毒
為了避免記憶體中毒,我被要求在我的 Apache Web 伺服器上創建一個虛擬主機,以便所有偽造的請求(實際上與我的應用程序無關)都將轉到虛擬主機。
以下是我目前的虛擬主機:
<VirtualHost *:*> DocumentRoot "cache location" ServerName myappname </virtualHost>
我正在嘗試創建一個伺服器名稱為 * 並具有不同記憶體位置的虛擬主機。這是我嘗試過的:
<VirtualHost *:*> DocumentRoot "another cache location" ServerName * </virtualHost>
如何測試我的虛擬主機配置是否有效,我是否需要修改我的配置?
據我所知,將 * 設置為 ServerName 只會匹配
*
作為主機名的文字,並且不會與預期的萬用字元匹配……您的虛擬主機,將響應任何和所有不匹配任何明確配置的特定域名的不合格請求的 VirtualHost 條目應該由配置中的第一個 VirtualHost條目。
<VirtualHost *:80> # This is the first and will handle anything that is not example.[com | net | org] ... </VirtualHost> <VirtualHost *:80> ServerName example.com ... </VirtualHost> <VirtualHost *:80> ServerName example.net ... </VirtualHost> <VirtualHost *:80> ServerName example.org ... </VirtualHost>
這個答案的第二部分有一個適合預設 VirtualHOST 的設置:https ://serverfault.com/a/662356/37681