RapidSSL(by さくらのSSL)の証明書をnginxで設定する


この記事の続きです

環境(あんまり関係ないかもですが)

バージョン
OS Ubuntu 14.04 LTS
nginx 1.8.1

参考にさせていただいたページ

http://qiita.com/sirone/items/da5c3f52d466a929a415
https://blog.kksg.net/posts/nginx-secure-ssl
http://qiita.com/kuni-nakaji/items/5118b23bf2ea44fed96e

証明書

証明書の取得

私は さくらのSSL からRapidSSLの証明書を取得しました。
税込み1620円/年!

さくらのSSLでの取得方法(2016.04.12時点)

  1. CSRを作成します。
  2. オンラインで申し込みます。
  3. メールが届きますので、コントロールパネルからまずはCAが確認するための「認証ファイル」をダウンロードします。
  4. 3 でダウンロードした「認証ファイル」を、CSRのCommon Nameに設定したFQDNのサーバに置きます。念のためブラウザでアクセスして、見れることを確認しましょう。
  5. ほとなくして、今度はSSLサーバ証明書発行が完了したことをお知らせするメールが届きます。
  6. さくらのコントロールパネルから、サーバ証明書をダウンロードしましょう。

RapidSSLの中間証明書の取得(2016.04.12時点)

  1. ジオトラストさんのRapidSSLのページにアクセス

  2. 「b) 2016年3月1日(火) 仕様変更適用後に発行された証明書:」のところの、証明書の部分をまるごとコピーして、テキストファイルにペーストして保存します。
    このとき「-----BEGIN CERTIFICATE-----」や「-----END CERTIFICATE-----」も含めてコピーします。

サーバに証明書を配置する

  1. RapidSSLの中間証明書と、取得したサーバ証明書をくっつけます
    $ sudo cat server.crt ca_rapidssl.cert | sudo tee my-domain.pem

  2. 作成した my-domain.pem を /etc/nginx/ など適切な場所に配置します。
    私は /etc/nginx/cert.d/my-domain.20160401.pem といったパスにしています。
    また、CSR作成で使った秘密鍵も同じ場所に置いています。

nginxに証明書を設定する

server {
    listen       443 ssl;
    server_name  MY-DOMAIN.jp;
    ssl_certificate     cert.d/my-domain.20160401.pem;
    ssl_certificate_key cert.d/my-domain.cert.20160401.key;
    ssl_protocols       TLSv1 TLSv1.1 TLSv1.2;
    ssl_prefer_server_ciphers on;
    ssl_ciphers         ECDHE+RSAGCM:ECDH+AESGCM:DH+AESGCM:ECDH+AES256:DH+AES256:ECDH+AES128:DH+AES:!aNULL!eNull:!EXPORT:!DES:!3DES:!MD5:!DSS;

......(その他設定をいろいろ)