またも、Webサーバーが起動失敗。
記事:Webサーバーが起動失敗 (code=exited, status=1/FAILURE) の対応では復旧できない。
発端は
Let’s Encryptで証明書の発行をしたはずなのに、カスペルスキーが動いていると上位の承認局がカスペルスキーになってしまう。Let’s Encryptでの証明書は don-don.0am.jpとwww.don-don.0am.jp で取得・発行?してる。
カスペルスキーを停止して証明書をみると s****.don-don.0am.jp と表示されるのだが、 s****. が気に入らないので修正する事にした。
設定しそうなファイルを色々さわっているうちに、証明書エラーが表示され、ついには、Webサーバーが起動しなくなった。
対応の経緯
試した事1
試した事2
「Let’s Encryptで作成されたcert.pem、privkey.pem、chain.pemがssl.confに指定されてないとうまく動かない」旨の記事があったので、これをヒントにトライしてみる事にした。
ssl.conf 抜粋(修正後)
# Server Certificate:
# Point SSLCertificateFile at a PEM encoded certificate. If
# the certificate is encrypted, then you will be prompted for a
# pass phrase. Note that a kill -HUP will prompt again. A new
# certificate can be generated using the genkey(1) command.
##SSLCertificateFile /etc/pki/tls/certs/localhost.crt
SSLCertificateFile /etc/letsencrypt/live/don-don.0am.jp/cert.pem
# Server Private Key:
# If the key is not combined with the certificate, use this
# directive to point at the key file. Keep in mind that if
# you’ve both a RSA and a DSA private key you can configure
# both in parallel (to also allow the use of DSA ciphers, etc.)
##SSLCertificateKeyFile /etc/pki/tls/private/localhost.key
SSLCertificateKeyFile /etc/letsencrypt/live/don-don.0am.jp/privkey.pem
# Server Certificate Chain:
# Point SSLCertificateChainFile at a file containing the
# concatenation of PEM encoded CA certificates which form the
# certificate chain for the server certificate. Alternatively
# the referenced file can be the same as SSLCertificateFile
# when the CA certificates are directly appended to the server
# certificate for convinience.
#SSLCertificateChainFile /etc/pki/tls/certs/server-chain.crt
SSLCertificateChainFile /etc/letsencrypt/live/don-don.0am.jp/chain.pem
試した事1、試した事2の後、systenctrl restart httpdを2度実行したら、とりあえずWebサーバーが復旧した。例によって、これで正解なのかどうかは自身がない!
変更・関連したファイル
/etc/httpd/conf/httpd.conf
/etc/httpd/conf.d/ssl.conf
/etc/httpd/conf.d/virtialhost80.conf
/etc/pki/tls/certs/localhost.crt
/etc/pki/tls/private/localhost.key
結局何が原因だったのだろう
ssl.conf に let’s Encryptで作られたcert.pem、privkey.pem、chain.pem を記載する事は確かだと思うが、試した事1のlocal.crt等の再作成が無駄だったのか、必要だったのかは不明。
懸念事項
次のLets Encryptの証明書更新以降に証明書問題が発生しないか。(1~3か月後)
次の自己証明書更新以降に証明書問題が発生しないか。(約1年後)
コメント