さくらのVPS nginx環境でGeotrustのSSLを設定する

   

サクッと申請しておっしまーいと、思っていたら、今朝さくらインターネットからメールが来てました。

お問い合わせいただきましたところ恐れ入りますが「さくらのVPS」におきましてはSSLサーバ証明書の申請代行及び設定代行サービスのご提供はございません。

Oh...そうだったのか...

という事で、仕方なく自分で設定するのまき。

SSL証明書の購入はこちらでどうぞ。ジオトラストSSL証明書

SSL導入手順

  1. Geotrustに申請するためのCSRを作成する
  2. Geotrustに申請して、サーバ証明書がメールで返ってくるのを待つ
  3. 中間証明書とサーバ証明書を組み合わせる
  4. keyと組み合わせた証明書をnginx.confに読み込ませてreload
  5. httpsでアクセスしてみて問題ないか確認する

基本的にはこちらの手順に従っています:RapidSSLをさくらのVPSにインストールしてみた

1:Geotrustに申請するためのCSRを作成する

まず、秘密鍵を作りましょう。example.comは貴方が使いたいドメインに置き換えてください。最初他のサイト見て2048の所を1024で作ったら、ダメだよって申請時に怒られました。こちらのコマンドを使いましょう。2行目は、パスフレーズを削除するコマンドです。

openssl genrsa -out example.com.key -des3 2048
openssl rsa -in example.com.key -out example.com.key

次に、CSRを作ります

openssl req -new -key example.com.key -out example.com.csr

*更新の場合は、ドメイン名の前に年度とか付けてファイル作れば良いと思う。

対話形式になっていますが、内容はこちらを参考にしていただければわかりやすいと思います

2:Geotrustに申請して、サーバ証明書がメールで返ってくるのを待つ

ジオトラストSSL証明書

SSL証明書の購入を行いましょう。途中、CSRを入力する窓が現れますので、そちらに先ほど作ったcsrファイルの中身をペーストしてください。まもなくサーバ証明書が届くはずです。

届いたサーバ証明書は example.com.crtみたいなファイルにして保存してください。

3:中間証明書とサーバ証明書を組み合わせる

中間証明書どこにあるんだよ!という人(俺)はこちらを御覧ください

今回買ったのはジオトラスト クイックSSL プレミアムなので、【ジオトラスト クイックSSL プレミアム専用】中間CA証明書(三階層目)にある中身をコピーしてサーバに保存します。名前はgeotrust.crtとかにしておきましょうか。(以下に書いたもの使っても大丈夫ですよ。コピペしただけなので)
*こちらの中間証明書は2020年までなのでそれ以降の場合は、更新をチェックしましょう

-----BEGIN CERTIFICATE-----
MIIERDCCAyygAwIBAgIDAjp4MA0GCSqGSIb3DQEBCwUAMEIxCzAJBgNVBAYTAlVT
MRYwFAYDVQQKEw1HZW9UcnVzdCBJbmMuMRswGQYDVQQDExJHZW9UcnVzdCBHbG9i
YWwgQ0EwHhcNMTQwODI5MjIyNDU4WhcNMjIwNTIwMjIyNDU4WjBmMQswCQYDVQQG
EwJVUzEWMBQGA1UEChMNR2VvVHJ1c3QgSW5jLjEdMBsGA1UECxMURG9tYWluIFZh
bGlkYXRlZCBTU0wxIDAeBgNVBAMTF0dlb1RydXN0IERWIFNTTCBDQSAtIEc0MIIB
IjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA30GUetr35DFDtuoBG1zOY+r6
baPZau4tmnX51ZxbvTTf2BzJbdgEiNputbe18DCuQNZd+sRTwdQinQROEaaV1UV8
QQVY4Ezd+e5VvV9G3K0TCJ0s5PeC5gcrng6MNKHOxKHggXCGAAY/Lep8myiuGyiL
OQnT5/BFpLG6EWeQVXuP3u04XKHh44PEw3KRT5juHMKAqmSlPoNiHMzgnvhawBMS
faKni6PnnyrXm8rL7ZcBnCiEUQRQQby0/HjpG88U6h8P/C4BMo22NcsKGDvsWj48
G9OZQx4v973zWxK5B17tPtGph8x3cifU2XWiY0uTNr3lXNe/X3kNszKnC7JjIwID
AQABo4IBHTCCARkwHwYDVR0jBBgwFoAUwHqYaI2J+6sFZAwRfap9ZbjKzE4wHQYD
VR0OBBYEFAtQ7HfvKpv/7AOhCv+txuQqGMc+MBIGA1UdEwEB/wQIMAYBAf8CAQAw
DgYDVR0PAQH/BAQDAgEGMDUGA1UdHwQuMCwwKqAooCaGJGh0dHA6Ly9nLnN5bWNi
LmNvbS9jcmxzL2d0Z2xvYmFsLmNybDAuBggrBgEFBQcBAQQiMCAwHgYIKwYBBQUH
MAGGEmh0dHA6Ly9nLnN5bWNkLmNvbTBMBgNVHSAERTBDMEEGCmCGSAGG+EUBBzYw
MzAxBggrBgEFBQcCARYlaHR0cDovL3d3dy5nZW90cnVzdC5jb20vcmVzb3VyY2Vz
L2NwczANBgkqhkiG9w0BAQsFAAOCAQEAMyTVkKopDDW5L8PHQpPAxhBLAwh2hBCi
4OdTEifyCtp/Otz9XHlajxd0Q1Ox1dFdWbmmhGTK8ToKWZYQv6mBV4tch9x/4+S7
BXqgMgkTThCBKB+cA2K89AG1KYNGB7nnuF3I6dHdrTv4NNvB0ZWpkRjtPCw3EU3M
/lM+UEP5w1ZBrFObbAWymuLgWVcwMrYmThMlzfpIcA91VWAR9TvVXlo8i1sPD2JC
SGGFixD0wYi/f1+KwtfNK5RcHzRKCK/rromoSHVVlR27wJoBufQDIj7U5lIwDWe5
wJH9LUwwjr2MpQSRu6Srfw/Yb/BmAMmjXPWwj4PmnFrmtrnFvL7kAg==
-----END CERTIFICATE-----

 4:keyと組み合わせた証明書をnginx.confに読み込ませてreload

SSL証明書は、/etc/nginx/ssl 以下に保存しました。
example.crtとgeotrust.crtが入っている状態で以下のコマンドを。

cat example.com.crt geotrust.crt > example.com.chaned.crt

これで組み合わされました。次にnginxのconfファイルをいじります。

/etc/nginx/conf.d/example.com.conf

のサーバブロックに以下の情報を追加

server {
 listen 80;
 listen 443 ssl;
 # 秘密鍵 (cert. key)
 ssl_certificate_key /var/www/html/example.com/ssl.key/example.com.key;
 # 合体証明書
 ssl_certificate /etc/nginx/ssl/example.com.chained.crt;

//以下略

秘密鍵は1で作ったファイルを、適当な場所に移動してください。

これでnginxの設定をリロード再起動すれば完了。(証明書の更新の場合、リロードだけじゃダメでした)

無事にSSLの設定が完了しているか https://example.comに接続して確認してみましょう。こんな感じになれば完成!

さくらのVPSにGeotrustのSSL証明書の設置完了

さくらのVPSにGeotrustのSSL証明書の設置完了

という感じです。

SSLも安いのは安いんですね。それも今回驚きましたとさ。

ジオトラストSSL証明書

まずはさくらのVPSを試してみる人はこちらから申し込みどうぞ。
サーバ比較なんかもやってみました

オススメNginx本

nginx実践入門 (WEB+DB PRESS plus) 単行本(ソフトカバー) – 2016/1/16

nginxを現場で活用するための知識を、実践的なノウハウを交えて解説した書籍です。nginxのインストール方法や基本的な設定方法からはじめ、nginxを利用した「静的コンテンツ配信サーバ」「HTTPSサーバ」「Webアプリケーションサーバ」「大規模コンテンツ配信システム」の構築方法をそれぞれ詳しく紹介しています。後半ではnginxサーバのモニタリングやログの収集、そして軽量スクリプト言語Luaでnginxを拡張する方法について解説しているので、nginxをこれから使う方はもちろん、さらに活用したい方にもお勧めです。

 - Tips