質問: apacheが動かなくなったとのことで調査してみたところ error_logに下記の情報が出力されていました。 ``` [Mon Nov 14 10:47:47 2016] [error] SSL Library Error: -8181 Certificate has expired [Mon Nov 14 10:47:47 2016] [error] Unable to verify certificate 'Server-Cert'. Add "NSSEnforceValidCerts off" to nss.conf so the server can start until the problem can be resolved. ``` ひとまずnss.confにNSSEnforceValidCerts offを追記し、apache再起動したところ 無事アクセスはできるようになりました。 ただ、 ``` $ certutil -L -d /etc/httpd/alias -n Server-Cert Validity: Not Before: Mon Nov 12 06:31:23 2012 Not After : Sat Nov 12 06:31:23 2016 ``` となっており期限が切れているようです。 ### お聞きしたいこと * 今まで有効だったnssはNSSEnforceValidCerts offでオフにしてしまって問題はないのか --- * certutil -L -d /etc/httpd/alias -n Server-Certで表示された認証期限を延ばす必要はあるのか --- * サーバにはmod_nssとmod_sslが入っていて、ssl証明書は取得していますがhttpsが効かない状況です mod_nssはmod_sslベースとしていて、OpenSSLコールの代わりにNSSコールを使用するらしいのですが nssが必要なければ、mod_nssを無効にすればhttps接続はうまくいくようになるのでしょうか。 このページを見たのですが根本的な解決策はわからずなようで、、 http://qa.atmarkit.co.jp/q/8037 ### OSバージョン ``` $ cat /proc/version Linux version 2.6.18-308.1.1.el5 (mockbuild@builder10.centos.org) (gcc version 4.1.2 20080704 (Red Hat 4.1.2-52)) #1 SMP Wed Mar 7 04:16:51 EST 2012 ``` ### apache バージョン ``` $ yum info httpd Loaded plugins: fastestmirror, security Loading mirror speeds from cached hostfile * base: ftp.iij.ad.jp * extras: ftp.iij.ad.jp * updates: ftp.iij.ad.jp Installed Packages Name : httpd Arch : x86_64 Version : 2.2.22 Release : jason.1 Size : 9.1 M Repo : installed Summary : Apache HTTP Server URL : http://httpd.apache.org/ License : ASL 2.0 Description: The Apache HTTP Server is a powerful, efficient, and extensible : web server. ```
回答: > > nssが必要なければ、mod_nssを無効にすればhttps接続はうまくいくようになるのでしょうか。 > > > ブラウザから HTTPS (443番ポート)でアクセスしたときに、mod_ssl / mod_nss のどちらで処理する設定か確認ください。 /etc/httpd/conf.d/ 以下の ssl.conf, nss.conf で "Listen 443" となっている方が有効です。 もし、mod_ssl (ssl.conf) が 443番ポートを受け持っているのであれば、nss を無効にすれば起動できると思います。 ただし、ssl.conf で設定している証明書も nss と同じく期限切れになっているかもしれません。 > > 今まで有効だったnssはNSSEnforceValidCerts offでオフにしてしまって問題はないのか > > > もし、mod_nss (nss.conf) が 443番ポートを受け持っているのであれば、NSSEnforceValidCerts off で起動できたとしても、ブラウザからアクセスしたときに「無効な証明書」とか「信頼できないサイト」のように判断されてしまいます。 > > certutil -L -d /etc/httpd/alias -n Server-Certで表示された認証期限を延ばす必要はあるのか > > > mod_nss を使っているのであれば、証明書を更新する必要があります。