ryuone's memo

備忘録

Nginx + SSL on Gentooの設定

Step1 : 秘密鍵を証明書署名要求(CSR)を作成

1.秘密鍵とCSRの生成

1.1 疑似乱数情報を生成(rand.dat)

1.2 疑似乱数情報から、秘密鍵(private.key)を生成

トリプルDESを使い、キー長2048bitで生成する。
秘密鍵を保護する為のパスフレーズの入力を求められるので、任意のフレーズを入力する。
確認の為に、2回入力を求められる。

ここで入力したパスフレーズは、絶対に忘れないように!!

1.3 作成した秘密鍵(private.key)を元にCSRを生成

秘密鍵のパスフレーズの入力を求められるので、作成時に指定したパスフレーズを入力する。

入力例

Country Name(国名) JP
State or Province Name(都道府県名) Osaka
Locality Name(市区町村名) Osaka-city
Organization Name(組織名) Company name
Organizational Unit Name(部門名)
Common Name(コモンネーム) www.implementer.net

入力項目は上記6項目だけど、下記項目は入力せずに先に進むとCSRが生成される。

  • Email Address []:
  • A challenge password []:
  • An optional company name []

2.秘密鍵のパスフレーズを解除

セキュリティ的にはお勧めできないと思うのですが、秘密鍵にパスフレーズが設定されたままの場合、サーバ起動時にパスフレーズの入力を求められる為、秘密鍵のパスフレーズを削除します。

3.内容確認

3.1 秘密鍵の内容確認

3.2.CSRの内容を確認

3.3.証明書の内容を確認

Step2 : SSL証明書の取得

SSLは下記サイトにて取得。

Namecheap.com

他にも色々SSLを購入するサイトがあるけど、RapidSSLが$9.49/年(有効期限4年のSSL購入時)〜$10.95/年(有効期限1年のSSL購入時)と安かったのでここで購入。

SSL証明書発行時に、CSRの入力を求められるので、1.3 作成した秘密鍵(private.key)を元にCSRを生成で作成したCSRを入力する。すると、CSRのCommon Nameのドメイン所有者にSSL証明書が送付される。(WHOIS情報に登録されているメールアドレスか、ドメインのメールアドレスに送信する事になるはず。)

Step3 : Nginxの設定

1.中間証明書

nginxには、中間証明書を直接指定するディレクティブが用意されていないということなので、サーバ証明書と中間証明書を結合したものを「ssl_certificate」で指定する。

Namecheap.comの場合、メールの最初のcrt(Web Server CERTIFICATE)がサーバ証明書で、次のcrt(INTERMEDIATE CA)が中間証明書になる。上記コマンドは、前者をserver.crt、後者をintermediate.crtをして保存した場合。

2.SSL証明書を設定

ssl_certificateに、上記でcatしたファイルを設定。ssl_certificate_keyに、2.秘密鍵のパスフレーズを解除でパスフレーズを解除した秘密鍵を設定。

参考URL

Pocket
Delicious にシェア

, ,

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください