我最近对运行 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]