Sli*_*pan 5 reverse-proxy apache-2.2
我使用 apache 作为 ruby on rails 应用程序服务器的反向代理。当使用非标准 HTTP 方法接收 HTTP 请求时,这会导致应用服务器中出现错误,从而暴露有关环境的一些(次要)详细信息。除非 HTTP 方法与安全的标准方法之一匹配,否则我可以阻止 apache 转发请求吗?
[编辑]
使用 Shane 的回答作为指导,我想出了以下内容,在此发布以供参考。
RewriteCond %{REQUEST_METHOD} !^(GET|HEAD|POST|OPTIONS)
RewriteRule .* - [R=405,L]
Run Code Online (Sandbox Code Playgroud)
我发现否定检查更容易,允许 apache 返回正确的响应代码(405 是不允许的方法),并且意味着所有代理配置内容都没有改变(即您可以使用 ProxyPass 或 ProxyPassMatch)
应该能够通过以下方式完成此操作<Limit>
:
<Limit GET HEAD POST>
ProxyPass / http://example.com/
</Limit>
Run Code Online (Sandbox Code Playgroud)
编辑:
挑剔的指令……我们将采用计划 B。
RewriteCond %{REQUEST_METHOD} ^(GET|HEAD|POST)$
RewriteRule ^/(.*)$ http://example.com/$1 [P,L]
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
9144 次 |
最近记录: |