サイトを運営しているとSSLを導入する事も増えてきました。ECサイトなら当然必須ですし(最近では詐欺サイトでもSSLを導入している)、HTML5のGPS機能を使う場合にもSSLが必要です。SEOにも少なからず寄与すると言われています。
しかしNginxでSSLを有効にすると起動時にSSL秘密鍵のパスフレーズを要求されるようになり、これが割と面倒です。
特にサーバ会社のメンテが入ったり何らかの理由でサーバが再起動された場合にパスフレーズの部分で引っかかってしまい、たとえchkconfig等で自動起動OnにしていてもNginxが起動されなくなってしまうのは問題です。
ではパスフレーズの要求をなくすにはどうすればいいかというと
cp test.key test.key.bak openssl rsa -in test.key.bak -out test.key chmod 400 test.key
こんな感じにやります。バックアップを作成し、秘密鍵をパスフレーズ無しで上書き(この際パスフレーズを要求されます)し、パーミッションを変更します。
関係ないですけど、csr(認証局に提出する署名リクエスト(Certificate Signing Request))ファイルとcrt(Certificate、証明書。マイクロソフトではcer)ファイルと暗号鍵ファイル(拡張子は方式により色々あるみたい)、たまにごっちゃになりません?
他にもファイル名にpemとか付いてるファイルもありますが、あれはエンコーディング方式であってファイルの役割とは全く関係ないみたいです。
技術ブログを見てると.pemや.keyという感じにサイトによって拡張子の付け方がまちまちだったりして、忘れた頃に見ると混乱しそうだなと思ってました。そういう事もあって 私はlinux上ではそれぞれ.csr,.crt,.keyで拡張子を統一する事にしています。
コメント