メインコンテンツへスキップ

無料のTLS証明書とHTTPS

このガイドは英語から翻訳されています。リンク先の一部のページは英語のみです。

自動HTTPSの仕組み、証明書の発行と更新の方法、そしてHTTPで公開してはいけない理由。

HTTPSはもはや任意ではありません。ブラウザはHTTPを「保護されていない通信」と表示し、検索エンジンは順位を下げ、HTTPでのログインや支払いは実際に危険です。

当サービスでの仕組み

Let's Encrypt(無料・自動化・広く信頼されている)の証明書を、Certbotで発行・更新しています。サイトにドメインを関連付けると、証明書を自動的に申請し、期限前に更新できます。料金はかからず、更新を覚えておく必要もありません。

証明書を発行する

  1. ドメインのDNSがすでに当社を指していることを確認します。認証局はあなたがその名前を管理していることを検証しますが、名前が当社に解決される場合にのみ可能です。

  2. /panel/webでサイトを開き、SSL/TLSを選んでドメインを追加します。

  3. 証明書を申請してインストールします。通常は数秒で完了します。

警告が出ないよう、example.comとwww.example.comの両方を申請してください。

更新

更新は自動です。スケジュールはパネルで確認でき、有効期限はいつでも次のコマンドで確認できます。

bash
echo | openssl s_client -servername example.com -connect example.com:443 2>/dev/null \
  | openssl x509 -noout -subject -dates

更新に失敗する原因は、ほとんどの場合、ドメインが当社に解決されなくなった(DNSの変更)、80番ポートがブロックされている(検証に必要)、失敗の繰り返しでレート制限に達した、のいずれかです。原因を修正してから手動で再試行してください。

HTTPからHTTPSへリダイレクトする

証明書だけでは、HTTP版へのアクセスは防げません。恒久的なリダイレクトを追加してください。詳しくはHTTPSの強制とリダイレクトをご覧ください。設定すれば、http://と入力した訪問者も安全な版に移動します。

きちんとテストする

bash
curl -I http://example.com      # should be a 301 to https://
curl -I https://example.com     # should be 200

また、混在コンテンツにも注意してください。HTTPSで配信されるページがHTTPで画像やスクリプトを読み込むと、ブラウザは安全でないと判断します。すべてhttps://のURLから読み込んでください。

プロキシやCDNの背後にある場合

CDNを前段に置くと、証明書チェーンは「CDN → 訪問者」と「CDN → オリジン」の両方になります。両区間に証明書が必要です。オリジン側は当社が発行し、訪問者向けの名前はCDNが発行します。CDNとは?必要ですか?をご覧ください。

関連記事