Apache 因SSL Library Certificate has expired 无法启动


1、查看服务日志,从/var/log/httpd/nss_error_log 文件中看到如下的错误:

[Sat Aug 20 08:17:49 2016] [error] NSS_Initialize failed. Certificate database: /etc/httpd/alias.
[Sat Aug 20 08:17:49 2016] [error] SSL Library Error: -8038 SEC_ERROR_NOT_INITIALIZED
[Sat Aug 20 08:17:49 2016] [error] NSS_Initialize failed. Certificate database: /etc/httpd/alias.
[Sat Aug 20 08:17:49 2016] [error] SSL Library Error: -8038 SEC_ERROR_NOT_INITIALIZED

提示说证书问题。查看下证书:发现时间过期

”certutil -d /etc/httpd/alias -L -n Server-Cert”

2、证书在安装的时候默认时间是4年。

3、处理方法:

     1. 如果不需要用到mod_nss 模块的,那直接把/etc/httpd/conf.d/nss.conf 文件改名或删掉;
     2. 不验证证书过期时间的,在nss.conf 中加入NSSEnforceValidCerts off 配置即可;
     3. 是重新生成新的证书;生成新证书前,务必先删除旧证书数据库文件

              cd /etc/httpd/alias

              rm -f *.db

              /usr/sbin/gencert /etc/httpd/alias > /etc/httpd/alias/install.log 2>&1

              certutil -d /etc/httpd/alias -L -n Server-Cert

              chmod 750 *.db(因为是在root下面操作的,生成的是权限是root权限)

重启httpd

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM