Ubuntu
在 Apache2 中限制 HTTP 方法
我在 Ubuntu 10.04 上有一個預設的 Apache 安裝。
我使用以下Nmap掃描來確定可用的 Apache 方法:
nmap -p80 --script=http-methods 192.168.1.66
結果是:
http-methods: GET HEAD POST OPTIONS
我正在嘗試消除 HEAD 方法。所以在
/etc/apache2/apache.conf
我添加了以下內容:<Directory "/var/www/*"> <LimitExcept GET POST OPTIONS> Deny from all </LimitExcept> ... </Directory>
然後我重新啟動了網路伺服器。然而,nmap 掃描仍然列印相同的結果。
有誰知道我在這裡想念什麼?
文件
<Limit>
明確指出:If GET is used it will also restrict HEAD requests
這非常強烈地暗示,出於
<Limit>
和<LimitExcept>
那個的目的,GET
和HEAD
被同等對待。應用於 的限制GET
將應用於HEAD
,因此如果GET
是不受限制的,那麼HEAD
也將是不受限制的。此外,
HTTP/1.1
RFC 2616
明確指出(第 9.4 節):The HEAD method is identical to GET except that the server MUST NOT return a message-body in the response.
GET
進一步明確和之間的直接關係HEAD
。澄清這一點的最後一條資訊,也來自
RFC 2616
(第 5.1.1 節):The methods GET and HEAD MUST be supported by all general-purpose servers.
這些資訊往往強烈暗示您希望僅通過配置更改來完成是不可能的。