“SSL Library Error: -8181 Certificate has expired”解决方案(修改nss.conf配置文件)

今天发现Team的测试网站down掉了,去查了下服务器上的httpd进程都不存在了,第一反应是可能哪个冒失的同事不小心reboot了这个服务器;但我也一会就联想到前阵子也发生过类似一件事情,只是不同的服务器而已。都是apache中mod_nss这个module的问题,由于一些证书过期之类的,到时系统将apache的进程直接kill了。这是第二次遇到了,简单总结一下吧。

首先检查apache的error_log,我在/var/log/httpd/nss_error_log文件中看到如下错误。

所以一个临时的解决方案就出来了,找到/etc/httpd/conf.d/nss.conf文件,在里面添加 "NSSEnforceValidCerts off" 这个配置即可。

仔细看一下,配置文件中有个如下配置,其实需要将SSL的Engine置为"off"也是可以的。

而,命令"certutil -d /etc/httpd/alias -L -n Server-Cert" 可以查看nss中的certificate过期的时间,比如这个命令输出在某台机器上有如下的信息。(这个命令中的/etc/httpd/alias是nss.conf中这个值“NSSCertificateDatabase”的配置)

所以,当前时间是已经过期了的。(网上说在RHEL5中可能遇到这个问题【我也是rhel5.X中遇到的】,重新安装mod_nss的rpm包即可解决这个问题,但是我试了一下,这样并不成功。我还是通过修改nss.conf来解决的,或者也可以直接删除mod_nss,不是用这个安全方面的module即可。)由于并非系统管理员,也就只了解到这里了,我暂时就直接不再使用mod_nss了。

The mod_nss module provides strong cryptography for the Apache HTTP Server via the Secure Sockets Layer (SSL) and Transport Layer Security (TLS) protocols, using the Network Security Services (NSS) security library.

Network Security Services (NSS) is a set of libraries designed to support cross-platform development of security-enabled client and server applications. Applications built with NSS can support SSL v2 and v3, TLS, PKCS #5, PKCS #7, PKCS #11, PKCS #12, S/MIME, X.509 v3 certificates, and other security standards.

参考:

http://www.mozilla.org/projects/security/pki/nss/

http://directory.fedoraproject.org/docs/mod_nss.html

master

Stay hungry, stay foolish.

4 Comments

  1. ebay上海急聘高级性能测试工程师,联系QQ:498761418;MSN:wangchunyan2011@live.cn

  2. 为什么我的面子事改变成手机版~~我尝试很多次都无法解决我的个人主页万全变了!!帮我!!

    • 谢谢,是的,证书过期当然应该更新证书;不过,“gencert /etc/httpd/alias”命令更新时,报了一些错误;我当时就没有深入去研究了。

发表评论

邮箱地址不会被公开。 必填项已用*标注

*