nginxに1万円以下のワイルドカード証明書を導入してみた

5d65507aafdae177d1ae8fa88974b562_s

いろいろやろうと思うとどうしてもWebサーバにSSL証明書が必要になる。 それも特定のホスト名(FQDN)だけじゃなくて、まとめて複数ホスト名 に対応してくれる「ワイルドカード証明書」がいい。 *.hilotech.jp 対応みたいな意味。

といっても数万もする高いのは要らない。SSL証明書の値段というのは ほぼ「信用料」みたいなもので、しかも裏付けがなかったりするし。 会社で買うときはさすがに十万とかのやつ買う(買わされる)けどね。

で、安いワイルドカード証明書を探すとだいたい「RapidSSL」の代理店 になる。今回は、国内でむちゃくちゃ安いところを見つけた。

なんといま現在で 9,720円/年 だよ。しかも税込!

が、それだけにいくぶん怪しいところがあって、カンジンの購入画面が しょっちゅうメンテナンス中になっている。「欲しけりゃ電話しろ」と 書いてあったので電話したら、3時間くらい経って利用できるようになっ た…。なんだったんだ。

まあ、それはともかく。CentOS 6.5 + nginx 1.6(TLS SNI support) でRapidSSLのワイルドカード証明書の導入手順をまとめておく。

まず、手元のサーバーでの作業。

  • 秘密鍵をつくる
  • CSR(証明書業者に出す署名リクエストデータ)をつくる

実手順としては、

という感じ。いろいろサイト(所有者)の情報を聞いてくるので答える。

/etc/nginx/ssl に

  • 秘密鍵ファイル: hilotech-jp.key
  • CSRファイル: hilotech-jp.csr

ができあがる。

あとはSSLストア(というか実態はRapidSSLだけどね)にCSRファイルを送りつける だけ。このとき、CSR作成時に入力したメールアドレスに実在証明確認用のURLが送 られてくるので注意すること。

で、ひととおり支払なども済まして数分もすると、メールでポンと

  • SSL証明書
  • 中間証明書
    これは簡単に言うとRapidSSLが対応してないブラウザに対応するための 補助データみたいなもんです

が送られてきます。

SSL証明書と中間証明書を合わせて、/etc/nginx/ssl/joined-hilotech-jp.crt とでもして置いておきましょう。

SSLの設定だけ切り出して /etc/nginx/ssl/ssl.conf にしておくとよいと思います。

で、ぼくの場合は /etc/nginx/vhosts/FQDN.conf として名前ベースバーチャルホス トの設定を切り出しているので、SSL対応にしたいホストの server コンテキストの 中で、

と一行入れて呼び出すとお手軽な気がする。

最後に、いちおう秘密鍵とか(今回パスフレーズかけてないし)漏れるとまずいので、 /etc/nginx/ssl は適切なパーミッションにしておきます。

で、

で終わり!

安かったし、とりあえず動いているみたいだし、いいんじゃないかな。