如何在 Apache 中禁用 HTTP 请求方法 ?

Apache 作为一种广泛使用的 web 服务器,在配置和保护 web 服务方面非常灵活强悍。保护 Apache 服务器的一种有效措施是禁用不必要的或构成安全风险的 HTTP 方法。在继续之前,请确保在Apache 服务器上启用了重写模块和 .htaccess 文件功能。
Disabling HTTP Methods
在文档根目录下创建一个 . htaccess 文件,并添加以下代码。
RewriteEngine On
RewriteCond %{REQUEST_METHOD} ^(HEAD|PUT|DELETE|PATCH|TRACK|OPTIONS)
RewriteRule .* - [F]
这些指令指示 Apache 服务器阻止使用 HEAD、PUT、DELETE、PATCH、TRACK 和 OPTIONS 方法的 HTTP 请求,对于使用这些方法的任何请求,[F] 标志指示 403 Forbidden 响应。
接下来,重新启动 Apache 服务器以应用更改。
sudo systemctl restart apache2
Verify Setup
要确保成功禁用了不需要的 HTTP 方法,可以使用 curl 命令行实用程序向服务器发送请求。例如,要检查 OPTIONS 方法是否被禁用,请执行以下命令:
curl -i -X OPTIONS https://yourdomain.net
成功的配置将导致 403 Forbidden 响应,表明服务器使用指定的方法正确地拒绝请求。
HTTP/1.1 403 Forbidden
Date: Thu, 30 Dec 2021 05:50:03 GMT
Server: Apache/2.4.41 (Ubuntu)
Content-Length: 281
Content-Type: text/html; charset=iso-8859-1
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>403 Forbidden</title>
</head><body>
<h1>Forbidden</h1>
<p>You don't have permission to access this resource.</p>
<hr>
<address>Apache Server at tecadmin.net Port 443</address>
</body></html>
我的开源项目
评论已关闭
