2012-08-22 83 views
2

所以我試圖禁用Apache中的TRACE方法,這也是這個問題Disabling TRACE request method on Apache/2.0.52中的問題。2.2.3禁用TRACE方法

我嘗試了VirtualHost塊,目錄塊,.htaccess文件等中的重寫規則。另外,httpd.conf中的TraceEnable Off選項不起作用。

這是我測試的輸出:

[[email protected] user]# nc www.domain.com 80 
TRACE/HTTP/1.1 
Host: www.domain.com 
VAR1:test 

HTTP/1.1 200 OK 
Date: Wed, 22 Aug 2012 13:37:38 GMT 
Server: Apache/2 
Transfer-Encoding: chunked 
Content-Type: message/http 

3c 
TRACE/HTTP/1.1 
Host: www.domain.com 
VAR1: test 

0 

重寫規則是:

RewriteEngine on 
RewriteCond %{REQUEST_METHOD} ^TRACE 
RewriteRule .* - [F] 

的東西可能是錯誤的任何線索?

乾杯!

+0

您是否曾經找到過解決方案?我面臨着與Apache 2.3完全相同的問題。全球範圍的TraceEnable似乎沒有任何影響。 – Griff

+0

據我記得重寫規則最終工作。請在這裏發佈它,如果你得到它的工作。無法訪問我現在遇到問題的服務器。 – OMA

回答

0

這種結構變化是「阿帕奇/ 2.2.3(Linux的/ SUSE)」/ CENTOS

編輯文件的/ etc/SYSCONFIG/Apache2的看看下面的線,並添加重寫到最後。它將加載模塊「mod_rewrite.so」。說明,在CENTOS在LoadModule配置文件(/etc/apache2/sysconfig.d/loadmodule.conf)獲取/ usr/sbin目錄/ rcapache2

APACHE_MODULES="apparmor actions alias auth_basic authn_file authz_host authz_groupfile authz_default authz_user authn_dbm autoindex cgi dir env expires include log_config mime negotiation setenvif ssl suexec userdir php5 rewrite" 

覆蓋在/etc/apache2/httpd.conf。本地添加/替換以下IfModule語句,以避免在模塊未加載時拋出錯誤。

<IfModule mod_rewrite.c> 
    RewriteEngine on 
    RewriteCond %{REQUEST_METHOD} ^TRACE 
    RewriteRule .* - [F] 
</IfModule> 

要測試你可以去http://web-sniffer.net/並選擇TRACE單選按鈕。如果有效,你應該看到一個狀態:HTTP/1.1 403 Forbidden