使用 OpenSSL 编译 Apache HTTP Server (httpd) 2.2.16
Apache 2.2.16 目前是 HTTP 服务器的“最佳可用版本”。我对源代码做了一些更改,需要使用 OpenSSL 重新编译。我的问题是,我应该使用 OpenSSL 0.9.8o 还是 OpenSSL 1.0.0a?后者是一个更新的主要版本,但 Apache 在其二进制产品中将 HTTPD 2.2.16 与 OpenSSL 0.9.8o 结合在一起。请参阅下载页面上的“Win32 二进制文件,包括 OpenSSL 0.9.8o(MSI 安装程序)” 。
这里几乎没有关于 Apache 决定的文档。
Apache 2.2.16 is currently the "best available version" of the HTTP Server. I made some changes to the source and need to recompile with OpenSSL. My question is, should I use OpenSSL 0.9.8o or OpenSSL 1.0.0a? The latter is a more recent, major release, but Apache couples HTTPD 2.2.16 with OpenSSL 0.9.8o in their binary offering. See "Win32 Binary including OpenSSL 0.9.8o (MSI Installer)" on the download page.
There is little to no documentation regarding Apache's decision here.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
最好使用与您正在使用的 Apache 原始版本相同的 OpenSSL 版本。有很小的机会(可能非常小但可能非零)可能对 OpenSSL 的特定版本有一定的依赖性。例如,更改日志确实表明至少有一个错误修复可能会导致如果应用程序可以解决它,则需要进行更改(在该更改日志页面上搜索“旧的错误行为”)。我仅以此为例;我完全不知道 Apache 是否使用 BIO_pop 和 BIO_push。但如果您在不了解更多如何使用的情况下更改版本,这种类型的事情可能会造成困难。
请注意,OpenSSL 的 v0.9x 版本是真正的版本并且正在广泛使用。这不应该仅仅因为它早于 v1.x 就成为问题。
It seems best to use the same version of OpenSSL that was used with the original build of Apache that you are using. There is a small chance (probably very small but possibly non-zero) that there might be some dependency on the specific version of OpenSSL. For example, the change log does indicate there is at least one bug fix that could result in requiring a change if the application worked around it (search for "old buggy behaviour" on that change log page). I am only using this as an example; I have absolutely no idea if Apache even uses BIO_pop and BIO_push. But it is this type of thing that could cause difficulty if you change the versions without knowing more how it is used.
Note that the v0.9x versions of OpenSSL are real releases and in wide use. It shouldn't be an issue just because it pre-dates v1.x.
我也在 Apache HTTPD 用户列表上提出了这个问题。他们表示 Windows 软件包是由第三方组装的,两个版本都可以使用。因此我们将继续推进 1.0.0a。
从 Apache 用户列表来看:
Apache HTTP Server 2.2.16 应针对 OpenSSL 0.9.8 或 OpenSSL 1.0 构建。如果您遇到其他情况,请告诉我们。
OpenSSL 0.9.8o 在他们的二进制产品中。请参阅下载页面上的“Win32 二进制文件,包括 OpenSSL 0.9.8o(MSI 安装程序)”。
Windows 二进制文件不是由 Apache 软件基金会发布的,而是免费提供的。 构建者决定包含 0.9.8o 版本,这完全取决于他。
I posed this question on the Apache HTTPD user list as well. They said the Windows package was put together by a third party, and that either versions will work. So we will move forward with 1.0.0a.
From Apache user list:
Apache HTTP Server 2.2.16 should build against either OpenSSL 0.9.8 or OpenSSL 1.0. Let us know if you experience otherwise.
OpenSSL 0.9.8o in their binary offering. See "Win32 Binary including OpenSSL 0.9.8o (MSI Installer)" on the download page.
The Windows binary is not a release by the Apache Software Foundation, but a courtesy offering. The person who built that decided to include the 0.9.8o version, which is entirely up to him.