无法将mod_ssl.so加载到server:ap_map_http_request_error中

时间:2016-08-02 23:31:41

标签: apache ssl

不可否认,自从我接触过这台服务器以来已经有一段时间了,但我的证书已过期,我需要上传其替代品。

尝试重新启动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和我的{{{0} 1}}抛出与启动httpd相同的错误。
  • This thread是关于从源代码编译的;我没有这样做,虽然我刚刚升级SSL以修复相同的漏洞。有关?

据我所知,此配置文件中没有任何变化,我已经验证了为新证书文件正确设置了权限。发生了什么,我该如何解决?

1 个答案:

答案 0 :(得分:0)

我最好的猜测是,这确实是由我服务器上的OpenSSL升级引起的。这不是一个答案,但我通过升级到Apache 2.4解决了这个问题。

明智的话,这不是一件容易的事 - 首先阅读文档并备份你的conf文件。

一路上的一些提示:

  • 您的配置文件(应该)会自动备份,并会创建新的示例文件。您需要逐个浏览已加载的模块以禁用/启用适当的模块。
  • This论坛有一个关于php5和MPM(多处理器Apache)的好建议。如果您使用的是非fpm版本的php,请使用:

    LoadModule mpm_prefork_module modules/mod_mpm_prefork.so
    
  • 您可能会遇到在2.4升级中丢失的现有模块(例如mod_ssl)的冲突。您需要手动删除所有这些软件包。