升级 Apache 后我需要重新颁发 SSL 证书吗?

升级 Apache 后我需要重新颁发 SSL 证书吗?

我最近对运行 Web 应用程序的服务器进行了一系列升级:

  • PHP 5.3 升级至 PHP 5.5
  • Apache 2.2 至 Apache 2.4

更准确地说,升级需要卸载 Apache、PHP 和所有模块(包括 mod_ssl),并安装较新的版本。

安装完成后,使用更新前的我的证书/pk 路径更新 ssl.conf,当尝试启动 Apache 时,出现以下 3 个错误ssl_error_log

AH02561: Failed to configure certificate [theserver]:443:0, check [/path/to/me/crt]

SSL Library Error: error:0906D066:PEM routines:PEM_read_bio:bad end line

SSL Library Error: error:140AD009:SSL routines:SSL_CTX_use_certificate_file:PEM lib

我首先猜测是重新安装改变了环境,导致证书在服务器上不再有效。我可以重新颁发,但对我来说,这意味着我的生产环境会停机一段时间,并且需要重新配置负载平衡器,如果不是这种情况,我希望避免这种情况。

该证书是否可能需要重新颁发/重新颁发,或者我在这里看到了另一个错误?

答案1

不,证书不需要重新颁发/签发,您可以使用您已有的证书。我认为问题出在证书的路径上,或者出在您访问证书所需的权限上。

答案2

答案确实是“不”,我不需要辞职。这是证书格式的问题。

这很奇怪,因为证书之前是可以工作的。我猜想新版本的 ModSSL 对证书格式的要求更严格。

以下是修复方法:

起初:

LASTLINEOFCERTCODE=-----END CERTIFICATE-----
[NEWLINE]

变成:

LASTLINEOFCERTCODE=
-----END CERTIFICATE-----
[NEWLINE]

相关内容