Posted at

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

More than 3 years have passed since last update.


この記事の続きです

http://qiita.com/kskomori/items/ba84ae0bb6a3b5bf6305


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

バージョン

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;

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