apache - 无法将 mod_ssl.so 加载到服务器 : ap_map_http_request_error

标签 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,而且我的 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/

相关文章:

iphone - Apple 终端无法访问 SSL 站点和神秘的 curl 错误

php - 从 HTTPS 到 HTTP 服务器的数据流

php - 我可以使用 .htpasswd 来保护不存在的目录(虚拟 m​​od_rewrite 目录)吗?

PHP: move_uploaded_file() 无法打开流:没有这样的文件或目录

apache - .htaccess 动态授予访问权限(包括系统范围的文件)

tomcat - Tomcat keystore 上的 "Too many open files"

java - 与客户端证书的 SSL 重新协商导致服务器缓冲区溢出

java - 用于解析电子邮件的 UIMA

java - 当您不需要提供证书时,为 SSL 连接配置 TcpNetClientConnectionFactory 的正确方法是什么?

apache - 在两个不同端口下运行的同一域的 HTTP 到 HTTPS 重定向