Linux http启动失败之nss校验证书过时

时间:2025-01-05 07:52:28

Linux http启动失败之nss认证过时 http服务在Linux上一直正常跑着,突然说停掉了,启动也启动不了。没有修改任何的配置文件。(1)问题描述1、http服务启动失败(2)定位问题1、先查看系统日志再查看http日志(3)解决问题1、查看nss作用2、查看nss安装时间3、重新生成一份校验证书注意:并不是所有的http都安装校验证书,rpm -qa mod_nss如果查看不到,表示没有安装

(1)启动失败

1、http服务启动失败不管是用service httpd restart还是用/etc/init.d/httpd restart启动都失败

Linux http启动失败之nss校验证书过时

(2)定位问题

1、先查看系统日志再查看http日志先查看/var/log/messages是否有相关http报错;如果没有再查看http日志:/var/log/httpd目录下找相关错误日志,因为在error_log文件中没有找到相关启动报错日志,但是执行service httpd restart之后(建议打开另外一个窗口),nss_error_log时间改变且为当前时间。所以定位出启动错误日志肯定在当前时间点的nss_error_log注意:是执行命令的时间和/var/log/httpd目录下文件更新时间对比

Linux http启动失败之nss校验证书过时

2、2:查看当前时间点的nss_error_log的报错信息[Mon May 04 09:18:42 2015] [error] Certificate not verified: 'Server-Cert'[Mon May 04 09:18:42 2015] [error] SSL Library Error: -8181 Certificate has expired[Mon May 04 09:18:42 2015] [error] Unable to verify certificate 'Server-Cert'. Add "NSSEnforceValidCerts off" to nss.conf so the server can start until the problem can be resolved.这里已经给出了解决方法:可加入NSSEnforceValidCerts off 禁止校验证书的参数来避免该问题,这也是一种方法,当然也可以重建校验证书!

Linux http启动失败之nss校验证书过时

(3)解决问题

1、查看nss作用mod_nss 是授权在Apache 2许可证rpm -qa mod_nss 查看命令,如果查看没有结果表示没有安装

Linux http启动失败之nss校验证书过时

2、查看nss安装时间[root@WEBsvr alias]# certutil -d /etc/httpd/alias -L -n Server-Cert

Linux http启动失败之nss校验证书过时

3、重新生成一份校验证书生成新证书前,务必先删除旧证书数据库文件[root@WEBsvr alias]# cd /etc/httpd/alias[root@WEBsvr alias]# rm -f *.db[root@WEBsvr alias]# /usr/sbin/gencert /etc/httpd/alias > /etc/httpd/alias/install.log 2>&1[root@WEBsvr alias]# certutil -d /etc/httpd/alias -L -n Server-Cert其他解决方法:1. 如果不需要用到mod_nss 模块的,那直接把/etc/httpd/conf.d/nss.conf 文件改名或删掉;2. 不验证证书过期时间的,那就在nss.conf 中加入NSSEnforceValidCerts off 配置即可;

Linux http启动失败之nss校验证书过时
Linux http启动失败之nss校验证书过时
© 手抄报圈