ある日のこと、SSLを有効にしたNginxが、サーバ再起動時に自動的に立ち上がらなくなった。
いろいろ調べたところ、どうやらSSLの秘密鍵にパスフレーズが設定されていて、Nginx起動前にパスフレーズの入力が求められていることが原因みたい。
以下のサイトによると、秘密鍵からパスフレーズを削除すればよいとのこと。
Nginx SSL passphrase at startup | Pandemonium Illusion
まず、秘密鍵を退避。
$ cp cert.key cert.key.org
次に、cert.key
をパスフレーズなし秘密鍵で上書き。コマンド実行時にパスフレーズを求められるので正しく入力する。
$ openssl rsa -in cert.key.org -out cert.key
最後に、安全のため秘密鍵のパーミッションを変更。
$ chmod 400 cert.key
このあと、Nginxを再起動して正しくアクセスできるかを確認すればOK。
今まではNginxの終了・起動時に毎回パスフレーズの入力を求められていたけど、それもなくなった。