编辑

编辑

我有旧版本的 Centos (5.7),由于 Google Chrome 关于 TLS 1.0 的警告,我想启用 TLS 1.2

我尝试使用 yum 进行更新,但发现此版本的 Centos 上无法安装 OpenSSL 1.x。所以我手动下载了它并安装在/usr/local/openssl

下一步:我怎样才能将它“链接”到apache(我有apache itk)?

编辑

更准确地说,我需要将我的 Apache Web 服务器 TLS 协议从 1.0 改进到 1.2,为此,我需要更新 OpenSSL 并让 Apache 使用它(但我不知道如何操作。我需要重新编译吗?)如果是这样,怎么办?)

新的 OpenSSL 版本是 1.0.2a

答案1

所以我手动下载了它,并安装在 /usr/local/openssl 下

make install为库执行 a 操作后,您需要运行sudo ldconfig;这让链接器知道它。/usr/local除非您更改了链接器配置,否则应优先考虑输入的内容。仔细检查您的libssl中是否有适当的创建时间/usr/local/lib

要检查 apache 是否会使用它,请运行ldd二进制文件。

> which apache
/usr/bin/apache
> ldd /usr/bin/apache | grep ssl

之后的路径libssl.so.10 =>应该是 into /usr/local。请注意,我只是在那里编写了可执行文件的名称,您必须弄清楚这一点。


如果你想要新的 libssl 被除 apache 以外的任何东西使用,将其移出/usr/local/lib. 试图避免它最终变得可用,这比仅仅移动它更麻烦,而且很容易出现错误并进一步造成混乱。因此,找到这些库(它们都具有相同的时间戳 - 我认为实际上只有两个,libssl并且libcrypto带有符号链接)并将它们移动到,例如/opt/openssl/lib。然后你可以使用 shell 脚本启动 chrome:

#!/bin/sh

export LD_LIBRARY_PATH=/opt/openssl/lib:$LD_LIBRARY_PATH
myapache $@

您必须移动或重命名真正的可执行文件(例如,上面的注释myapache),然后将此脚本放入/usr/binas中apache,或者无论真正的可执行文件的名称是什么。

相关内容