Let’s Encryptを使って簡単0円でサーバ証明書を取得

このエントリーをはてなブックマークに追加
はてなブックマーク - Let’s Encryptを使って簡単0円でサーバ証明書を取得
LINEで送る
Pocket

概要

  • Let’s Encrypt を使って、無料サーバ証明書を発行して設置します。
    • 手順通りやれば、10分程度で出来ると思います。
    • 最近Facebookがゴールドスポンサーになって、盛り上がってきています。
    • 12月3日にPublic Betaになりました。
    • 今は3ヶ月分の証明書を取得出来ます(コマンド1発で、無料で更新可能)
  • サーバ環境は、Mac OS X 10.10 + Nginx 1.8です。
    • おそらく、各種OS + Nginxなら同じ手順で行けると思います。
  • Google Chromeが、WebRTCを使うためにはHTTPSが必須になりました。

セットアップ

cloneしてくる。ちょっと容量は重め。

証明書取得

  • 普通の証明書取得は、メアド確認やら存在確認やらで凄い時間と手間がかかりますが、そこら辺はクライアントアプリが自動でやってくれます。
  • 80番ポートを使って、ドメインの所在確認をしているので、既に80番ポートが使われていると以下のようなエラーが出ます。
  • 80番ポートで稼動しているサービスがある場合は止める必要があります。

img_566becf100326

  • 私の場合、Mac OSで動いているHTTPサーバを止めました。

そして、キーペアの生成などを一発で行えるコマンドを実行します。

  • Mac OS X 場合、-dオプションでホスト名を指定したら、プログラムが異常終了したので、オプションは渡さずに実行しました。そうすると、インタラクティブにホスト名を聞かれるので、そこで入力します。
  • Debianで実行した場合、以下のパッケージをインストールするように求められます
    • augeas-lenses libexpat1-dev libpython-dev libpython2.7 libpython2.7-dev python-chardet-whl python-colorama-whl python-distlib-whl python-html5lib-whl python-pip-whl python-requests-whl python-setuptools-whl python-six-whl python-urllib3-whl python2.7-dev python3-pkg-resources python3-virtualenv

初回は、メールアドレスを聞かれます。
letsencrypt

そして、最後にキーなどが生成されます。
以下に、2つ分の証明書を作った場合のファイル一覧を貼り付けます。

1__ssh

nginxに設置

nginxの設定を抜粋します。ほとんどコピペで行けると思います。

重要な点は以下の2つを書き換えることだけです。

証明書を確認

  • このブログ自体には、httpへの参照があり、画像が出なかったりするので検証はこちらで。
  • ちゃんとSSL緑のキーになっています!
    ssl certified
  • サーバ証明書を見てみましょう。
    ssl certificate by letsencrypt

  • 中間証明書を見てみましょう。
    ssl certificate by letsencrypt

  • ルート証明書を見てみましょう。

    • DST Root CA X3ですね。
      ssl certificate by letsencrypt

ブラウザ確認

  • OK
    • Mac OS 10.11 (El Capitan) Google Chrome
    • Mac OS 10.11 (El Capitan) Safari
    • Mac OS 10.11 (El Capitan) Firefox 43.0.1
    • iOS 9.2 Google Chrome
    • Mac OS X 10.10 curl
    • Mac OS X 10.11 curl
    • iOS 9.2 safari
    • Mac OS 10.10.5 (Yosemite) Firefox 43.0.1

証明書の更新方法

自動化するなら、こんな感じになるかなと思います。

サンプル

この辺りのサービスもSSL化しました。(ついでに、HTTP2化も)
金融機関コードAPI
郵便番号API
不在着信電話番号API

制限

Rate limit on registrations per IP is currently 10 per 3 hours
Rate limit on certificates per Domain is currently 5 per 7 days

https://community.letsencrypt.org/t/public-beta-rate-limits/4772/3

SSL TESTの結果

ssl test matsu.teraren.com

自動更新

これで、今日からあなたも快適なSSLライフを送れますね!

Let’s Encrypt!

更新履歴

  • 2016/1/4 cert.pemfullchain.pemに変更
このエントリーをはてなブックマークに追加
はてなブックマーク - Let’s Encryptを使って簡単0円でサーバ証明書を取得
LINEで送る
Pocket

matsubokkuri

Please feel free to contact me via e-mail, twitter and facebook!

あわせて読みたい

3件のフィードバック

  1. serima より:

    fullchain.pem を使えば iOS 9.2 Safari でもエラー出ませんでしたよー

    https://community.letsencrypt.org/t/solved-ios-safari-not-trusted/5846/2

  1. 2016/1/4 月曜日

    […] SSL証明書はLet’s Encryptを使って簡単0円でサーバ証明書を取得を参考にして個人でも簡単に取得出来ます。 […]

コメントを残す