SSLストアで、1,200円/年 の SSL証明書 ( COMODO PositiveSSL ) を買って Nginx で使う
SSL証明書のコストは、いいとこの物を買うと年間数万円ほどかかってしまいますが、SSLストアのお安いもので充分だと思います。10ドメインほど買い、iOS9やブラウザから使っていますが現状問題ありません。サーバも、Nginx, Apache, AWS ELB で使っていますが、問題なく使用できています。
2015年12月現在、最安は 1,200円/年 の COMODO PositiveSSL です。これで、開発環境の管理サイトSSLもオレオレ証明書から卒業できますね。
1. 確認メールアドレスの準備
証明書のアクティベート時に確認メールが送られてくるため、申請ドメインの admin@ のメールアドレスを受信可能にしておく必要があります。他には、 postmaster@ や、whoisに登録されているアドレス に送信することができます。
(証明書のアクティベート時に選択できます)
申請ドメインが dev.example.com であれば、 [email protected], [email protected], [email protected], [email protected] などのうち、どれか1つが受信可能にななっている必要があります。
2. SSLストアの会員登録
http://www.ssl-store.jp/ ここから、案内に従って会員登録します。
(登録アドレスは 1. のメールアドレスではなく、汎用的に使えるアドレスにしておきます。)
3. 入金
SPIKE で、デポジット入金して 証明書を購入できます。
管理画面の 代金支払 → クレジットカードで入金 より。
今回は 1,200 円だけ入金すれば充分です。
SPIKE アカウントがあれば、秒殺で入金できます。
4. 証明書の購入
管理画面から、証明書 → 証明書購入。 Comodo → COMODO PositiveSSL 1年 の「新規」ボタンを押下。あとは案内に従って進めます。
5. 証明書のアクティベート
購入を完了すると、証明書 → 証明書管理 に「アクティベート待ち」 の証明書が出てきますので、
「詳細」→「アクティベート(申請)する」をクリック
CSR を求められますので、一旦ブラウザから離れて CSR を作成します。
6. CSR のを作成
openssl を使って、CSR を作成します。mac のターミナルからで良いでしょう。
$ openssl req -new -newkey rsa:2048 -nodes -out ドメイン名.csr -keyout ドメイン名.key -subj "/C=JP/ST=Tokyo/L=区/O=会社名/CN=ドメイン名"
それぞれ、間違いの無いように入力します。
すると、ドメイン名.csr と ドメイン名.key が出来ます。
7. CSR の入力
先ほどできた CSR の内容を、ブラウザのCSR 欄に貼り付けします。
mac であれば、
$ cat ドメイン名.csr | pbcopy
でコピーすると良いでしょう。(cat で表示されたものをマウスで選択してコピーでも問題ありません)
アクティベートフォームの「サーバの種類」は、Apache や Nginx であればデフォルトの「ApacheOpenSSL」で問題無いでしょう。
CSR をペーストしたら「次に進む」をクリック
8. アクティベートつづき
CSRのパース結果が表示されますので、「コモンネーム」が間違ってないか超確認します。例えば、表示内容をコピペして ping してみるとか、ブラウザから開いてみるなどして、間違いの無いようにします。
承認メールアドレスを選択し、ドメイン所有者情報も入力していきます。
(一度入力してしまえば、以降はブラウザの履歴からの補完機能で入力すると楽です。入力欄をダブルクリックで履歴の表示)
入力が終わったら「次に進む」をクリック
9. アクティベート確認
コモンネーム、承認メールアドレスをもう一度よく確認しておきます。
最終確認のチェックボックスを入れ、「上記の内容で申請」をクリック
10. アクティベート承認確認メールから、メールアドレス認証
アクティベート時にラジオボタンで選択したメールアドレス (例: admin@〜) に、
ORDER #xxxxxxxx - Domain Control Validation for ドメイン名
という件名のメールが送信されてきます。
メール文中の validation code をコピーし、その上の please browse here のリンクをクリックし、表示されたフォームに先ほどのバリデーションコードを貼り付け、Next をクリック。
Thank you と言われるので、次は アクティベート時にテキスト入力したメールアドレス の受信をチェックします。
ORDER #xxxxxxxx - Your PositiveSSL Certificate for ドメイン名
というメールが来ますので、内容を見ます。
11. Nginx用証明書ファイルの作成
メール本文にベタっと ドメイン証明書が書かれており、また添付zipファイル内にも同じドメイン証明書入っています。
添付ファイルの中には、中間証明書も入ってますので、zip を展開します。
- AddTrustExternalCARoot.crt
- COMODORSADomainValidationSecureServerCA.crt
- COMODORSAAddTrustCA.crt
- ドメイン名.crt
が入ってます。
Apache では、中間証明書は SSLCertificateChainFile で指定しましたが、Nginx では中間証明書はサイト証明書ファイルに連結して使用します。
$ cat ドメイン名.crt COMODORSADomainValidationSecureServerCA.crt COMODORSAAddTrustCA.crt AddTrustExternalCARoot.crt > ドメイン名.nginx.crt
このように連結しておきます。
12. Nginx用証明書のアップロードと設定
先ほどの証明書と、6. で作った ドメイン名.key を サーバにアップロードし、
Nginx のサイト設定ファイルで
listen 443 ssl;
ssl_certificate /path/to/ドメイン名.nginx.crt;
ssl_certificate_key /path/to/ドメイン名.key;
と設定してNginxをリロードすれば、警告無くHTTPS通信ができるはずです。
13. AWS ELB の場合
AWS の場合、SSLの暗号処理は ELB にまかせ、ELB->EC2 は平文HTTPで良いでしょう。
(いわゆる SSLアクセラレータ)
ELBに証明書を登録する必要がありますが、AWS管理画面からコピペで登録できます。
ロードバランサーの SSL 証明書の更新 - Elastic Load Balancing
http://docs.aws.amazon.com/ja_jp/ElasticLoadBalancing/latest/DeveloperGuide/elb-update-ssl-cert.html
Certificate Chain: には、
COMODORSADomainValidationSecureServerCA.crt, COMODORSAAddTrustCA.crt, AddTrustExternalCARoot.crt を連結したものを入れましょう。
※ AWS の場合、中間証明書の結合の順番は重要です。適切でないと、Web管理サイトで証明書のアップロードができません。ルート証明書が一番下です。
Author And Source
この問題について(SSLストアで、1,200円/年 の SSL証明書 ( COMODO PositiveSSL ) を買って Nginx で使う), 我々は、より多くの情報をここで見つけました https://qiita.com/ytyng/items/cfa8a4d317ada666ff18著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .