我的设置详细信息:
- 操作系统:RHEL7
- Web 服务器:Apache http 服务器(启用 SSL)
- AppContainer : NodeJS
- Webserver 通过 mod_proxy 连接到 NodeJS。
我使用以下配置阻止了 apache http 服务器中的 connect 方法。但 connect 方法漏洞仍然存在。我需要在 NodeJS 端做什么吗?
RewriteCond %{REQUEST_METHOD} !^(GET|POST|PUT|DELETE|HEAD)
RewriteRule .* - [R=405,L]
答案1
出现此类一般问题的最常见原因是未在您所处的RewriteEngine on
上下文中启用 mod_rewrite。RewriteRule
但是,即使如此,我还是建议使用<Limit>
或<LimitExcept>
块,或者最好mod_proxy_connect
根本不加载,这样该CONNECT
方法就无法使用。当然,如果它由您的应用程序处理,那也需要禁用。
评论后的附加信息:
做不是修改<Directory />
配置附带的块,它应该保持原样。
另外,不要(正如我在评论中所说的那样)将<Limit>
块放在另一个块内(在你的情况下是一个<Directory>
块。块中的配置指令<Directory>
仅在请求映射到文件系统时才生效,但你正在代理/
另一个服务示例.com, 意思是不请求被映射到文件系统,因此您的<Limit>
阻止永远不会生效。