mod_xsendfile 是否已弃用?

mod_xsendfile 是否已弃用?

我知道这是一个愚蠢的问题,但我找不到任何相关信息。我正在为一位老客户维护一个网站,到目前为止,我使用 X-SENDFILE 标头来控制对一个相当大的文件的访问。

他的服务器管理员现在更新了 Apache,这导致网站崩溃。经过一番研究,我发现我必须删除选项XSendFileAllowAbove并添加XSendFilePath。由于此选项显然无法在 .htaccess 文件中设置(我读过相关内容,也尝试过以确保无误),服务器管理员必须直接添加它。但是,他们拒绝这样做,并说 mod_xsendfile 已被弃用。我搜索以验证这一点,但在任何地方都找不到它。

此外,他们拒绝提出替代方案,所以如果你们知道任何替代方案,我将不胜感激:)。

该文件太大,无法用 PHP 提供服务(至少不容易),我无法访问服务器,只能访问网站代码。

编辑

我一发布问题就发现了这篇文章,它似乎至少表明 mod_xsendfile 在 Apache 2.4 中运行良好: https://superuser.com/questions/1035459/is-mod-xsendfile-not-compatible-with-apache-2-4 这并不能完全回答我的问题,但至少这是一个开始,并且可能有助于某些人搜索相同的问题并找到这个问题。

答案1

已弃用这并不意味着它不能与 Apache 2.4 兼容,而是它违反了他们自己的软件质量政策。毕竟mod_xsendfile

  • 不是官方支持的标准 Apache 模块。
  • 需要单独编译;不在任何存储库中。
  • 最初是为 Apache 2 和 2.2 设计的。
  • 自 2011 年起,已 6 年未维护。

虽然该模块很简单,但使用这种模块可能会使系统面临安全威胁。因此,这种限制似乎是合理的,而且你肯定也不会在任何共享主机上获得该模块。

希望这里有人可以建议其他解决方案!

答案2

x-sendfile 的“最新”1.0 版本适用于 apache 2.4。在出现连续断开连接的情况后,我不得不将所有服务器从 0.6 更新到 1.0。1.0 版本解决了断开连接的问题。

https://github.com/nmaier/mod_xsendfile/blob/master/mod_xsendfile.c

答案3

您可以使用内置指令,因此无需额外的模块

https://httpd.apache.org/docs/2.4/mod/core.html#enablesendfile

相关内容