Nginx 444 错误与 Apache 中的错误相同吗?

Nginx 444 错误与 Apache 中的错误相同吗?

有没有办法在 apache 中产生相同的 Nginx 444 错误。

Nginx

444--> 连接关闭且无响应。

我喜欢这个错误,因为如果有人尝试 CURL,他会得到一个空的响应,但在 Apache 中并非如此。

答案1

444 不会返回给客户端,它只会写入 nginx 日志,表示连接已关闭且无响应。使用 modsecurity 和 DROP 操作可以在 apache 中实现与防火墙相同的行为。

答案2

如果这有帮助的话......

我使用 Apache 作为端口 3000 上的 Web 应用程序的反向代理,并且我只想极其谨慎地丢弃某些虚假请求 - 例如,它不是 WordPress,所以我甚至不想对/wp-admin探测做出响应!

无论如何,我mod_security按照建议进行安装,并添加了以下/etc/httpd/modsecurity.d/10-empty-response.conf条目;现在我的应用程序可以返回“444”状态,并且代理将断开连接:

SecRule RESPONSE_STATUS 444 "id:'444444',phase:3,log,drop"

答案3

Apache 似乎不支持自定义的非标准 HTTP 响应代码(例如 444)。我在 Apache 的文档中找不到允许的代码的详尽列表ErrorDocument 指令,但是使用类似的东西进行测试

    <Location /444>
        ErrorDocument 444 "Something"
    </Location>

甚至不允许 Apache 加载,而更改上述444内容则404允许 Apache 加载而不会出现任何错误或问题。

相关内容