不可否认,我已经有一段时间没有接触过这台服务器了,但我的证书已过期,我需要上传它的替换文件。
尝试重新启动 Apache 时,现在我得到:
httpd: Syntax error on line 222 of /etc/httpd/conf/httpd.conf:
Syntax error on line 12 of /etc/httpd/conf.d/ssl.conf:
Cannot load /etc/httpd/modules/mod_ssl.so into server:
/etc/httpd/modules/mod_ssl.so: undefined symbol: ap_map_http_request_error
有问题的行很简单:
# httpd.conf
Include conf.d/*.conf
和
# conf.d/ssl.conf
LoadModule ssl_module modules/mod_ssl.so
- > This question没有答案,我不完全确定这是一个骗局,因为我没有使用
a2enmod
,而且我的apachectl configtest
抛出与启动 httpd 相同的错误 - > This thread是关于从源代码编译;我没有这样做,尽管我不久前确实升级了 SSL 以修补相同的漏洞。相关?
据我所知,此配置文件中没有任何更改,并且我已验证新证书文件的权限设置是否正确。这是怎么回事,我该如何解决?
最佳答案
我最好的猜测是,这确实是由我的服务器升级到 OpenSSL 引起的。这不完全是一个答案,但我通过升级到 Apache 2.4 解决了这个问题。
明智的话,这不是一件容易的事 - 首先阅读文档并备份您的配置文件。
沿途的一些提示:
- 您的配置文件(应该)会自动备份,并且会创建新的示例文件。您需要一个一个地检查加载的模块,以禁用/启用适当的模块。
This论坛有一个关于 php5 和 MPM(多处理器 Apache)的好提示。如果您使用的是非 fpm 版本的 php,请使用:
LoadModule mpm_prefork_module modules/mod_mpm_prefork.so
您可能会与在 2.4 升级中丢失的现有模块(例如
mod_ssl
)发生冲突。您需要手动删除所有这些包。
关于apache - 无法将 mod_ssl.so 加载到服务器 : ap_map_http_request_error,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38732050/