我正在尝试在 Amazon Linux 上使用 SSL 为我的网站运行 Apache,并且我配置了所有 SSL 先决条件。但是当我启动 Apache 时,它抛出了错误:
Starting httpd: httpd: Syntax error on line 58 of /etc/httpd/conf/httpd.conf: Syntax error on line 1 of /etc/httpd/conf.modules.d/00-ssl.conf: Cannot load modules/mod_ssl.so into server: /etc/httpd/modules/mod_ssl.so: undefined symbol: ap_array_str_contains
conf.modules.d/00-ssl.conf 文件包含:
LoadModule ssl_module modules/mod_ssl.so
Apache httpd 版本:
Server version: Apache/2.4.12 (Amazon)
我使用以下方式安装了 mod_ssl:
yum install mod24_ssl
我不知道如何解决这个问题;我对 Apache 还很陌生。
如果有人遇到类似的问题,请帮助我吗?
答案1
我的直觉是,SSL 模块是针对与尝试加载它的版本不同的 Apache 版本进行编译的,因为 Apache 2.4.12 版本是在 2015 年 1 月发布的,而我只能在 2015 年 9 月在 Apache 源代码中看到添加该功能的ap_array_str_contains()
参考server/util.c
。
返回什么rpm -q mod24_ssl httpd(*)
?它们实际上应该具有相同的版本。
(*) Amazon Linux 对其 Apache 软件包的命名可能会略有不同。