Security
如何配置 Apache 以拒絕帶有錯誤程式碼的代理請求?
我有一台執行 Apache 的伺服器,它經常收到不需要的代理請求,主要用於類似
www.yandex.ru
或www.baidu.com
. 我沒有mod_proxy
載入,所以這些請求實際上不起作用。但是發生的情況是返回的內容對應於我網站的首頁,大概是因為那是預設的虛擬主機。問題是,我寧願不將完整的索引頁面發回給顯然對我的網站不感興趣的人;我認為這是對頻寬和資源的浪費。我寧願用 HTTP 錯誤程式碼(我想是 400)來響應,以表明我的伺服器不能作為代理工作,並且在我檢查訪問日誌時讓自己感覺更好;-)配置 Apache 以返回代理請求的錯誤程式碼的推薦方法是什麼?(“代理請求”是指在 HTTP 請求行中提供絕對 URL 的請求。)哪個 HTTP 錯誤程式碼最適合此?
順便說一句,我以為這已經被問過了,但我看了看並沒有找到。
您可以簡單地配置一個拒絕所有請求的預設虛擬主機:
<VirtualHost *:80> ServerName deny.all <Location /> Order allow,deny Deny from all </Location> </VirtualHost>
有了這個,所有訪問未明確配置的虛擬主機的請求都將被拒絕,並顯示 HTTP 錯誤程式碼 403(“禁止”)。
另請務必查看有關代理濫用的 Apache wiki 頁面以獲取更多詳細資訊。除了上述解決方案之外,他們還將為您提供
mod_rewrite
基於 - 的解決方案的提示。