SSL/TLS
ホスト名ごとに無料証明書やカスタム証明書を配置し、暗号化モード、HTTPS の強制、HSTS、セキュリティヘッダーを設定する方法と、Origin CA 証明書の発行方法を説明します。
SSL/TLS の設定は、サイト詳細ページの SSL/TLS タブ(/cdn/domains/<domain>/ssl)にあります。CDN の HTTPS 通信には、次の 2 つの接続があります。
- 訪問者 ↔ エッジ: ホスト名ごとに配置されたエッジ証明書を使用します。無料の自動証明書、またはアップロードした証明書を利用できます。
- エッジ ↔ オリジン: 暗号化モードとホスト名のオリジンプロトコルによって、この接続を暗号化するか、オリジン証明書を検証するかが決まります。
エッジ証明書の配置
エッジ証明書管理テーブルには、サイトのすべてのホスト名と、それぞれの SSL 状態、発行者、有効期限が表示されます。証明書を管理をクリックすると、証明書ダイアログが開きます。証明書を追加する方法は 3 つあります。
方法 1: 無料の自動証明書(Let's Encrypt)
- CNAME またはネームサーバーの設定により、ホスト名の DNS がすでに CDN を参照していることを確認します。検証には HTTP-01 を使用するため、エッジが Let's Encrypt の検証リクエストに応答できる必要があります。
- **自動証明書(Let's Encrypt)**タブで HTTP-01 検証をクリックします。
- ダイアログには、処理待ち(待機中)、ドメインを検証中、証明書を発行中(証明書発行中)の 3 段階で進行状況が表示されます。完了すると、状態が 発行済みになります。失敗した場合は、証明書の申請に失敗しましたとその理由が表示されます。
自動証明書の有効期間は 90 日です。有効期限が切れる前に自動で更新され、エッジに再配置されるため、操作は不要です。証明書が存在する場合、ボタンは 証明書を更新となり、期限前に手動で更新できます。
*.example.com などのワイルドカードホスト名は、HTTP-01 で検証できません。代わりに、カスタム証明書または証明書ライブラリからワイルドカード証明書を配置してください(以下を参照)。
HTTPS の強制は HTTP-01 検証に影響しません。エッジは検証リクエストを優先して処理します。
方法 2: カスタム証明書をアップロードする
- カスタム証明書タブに切り替えます。
- **証明書(PEM 形式)**に証明書を貼り付けます。サーバー証明書を先頭に、その後に中間証明書を続けて、完全なチェーンを含めてください。
- **秘密鍵(PEM 形式)**に、対応する秘密鍵を貼り付けます。
- 証明書をアップロードをクリックします。状態が カスタム証明書に変わります。
カスタム証明書は自動更新されません。現在の証明書の有効期限が切れる前に、新しい証明書をアップロードしてください。
方法 3: 証明書ライブラリから配置する
Yeap Cloud の SSL 証明書サービスで証明書を購入または保存している場合は、証明書フォルダータブで選択できます。ホスト名をカバーするワイルドカード証明書を含め、そのホスト名に一致する証明書が表示されます。配置する証明書を選択してください。
暗号化モード(エッジからオリジン)
SSL/TLS 暗号化モードカードでモードを選択し、保存をクリックします。
| モード | エッジからオリジンへの接続 | 使用する状況 |
|---|---|---|
| オフ | 平文 HTTP | オリジンが HTTP のみを提供する場合 |
| フレキシブル | 平文 HTTP | オリジンに証明書がなく、訪問者には HTTPS を使用させたい場合 |
| フル | HTTPS、オリジン証明書は検証しません | オリジンで自己署名証明書または Origin CA 証明書を使用する場合 |
| フル(厳格) | HTTPS、オリジン証明書を検証します | オリジンに、公開認証局が発行したドメインに対して有効な証明書がある場合 |
このモードと他の設定の関係は次のとおりです。
- この表は、オリジンプロトコルが 自動のホスト名に適用されます。オリジンタブでオリジンプロトコルを HTTP または HTTPS に明示的に設定した場合は、そのプロトコルが優先されます。フル・厳格モードでは、エッジが HTTPS でオリジンに接続する場合にのみ証明書を検証します。
- 訪問者が HTTPS でエッジに接続できるかどうかは、そのホスト名にエッジ証明書があるかどうかだけで決まります。暗号化モードによっては変わりません。
- オフまたはフレキシブルに切り替えると、エッジとオリジン間の通信が暗号化されなくなるため、確認が求められます。
- フル・厳格モードでは、オリジン証明書が無効、有効期限切れ、またはドメインと不一致の場合、オリジンへのリクエストが失敗します。
- オリジンへの HTTP/2 接続には HTTPS が必要なため、オフおよびフレキシブルモードではエッジが HTTP/1.1 にフォールバックします。
フレキシブルモードで、オリジンも HTTP から HTTPS にリダイレクトしている場合、訪問者の接続が無限リダイレクトループに陥ります。フルに切り替えるか、オリジン側のリダイレクトを無効にしてください。診断タブでこの問題を検出できます。
HTTPS の強制
HTTPS 設定カードで HTTPS の強制を有効にすると、すべての HTTP リクエストを 301 で同じ URL の HTTPS にリダイレクトします。これは訪問者の接続方法を制御する設定で、オリジンプロトコルは変更しません。
有効にする前に、サイトのすべてのホスト名に有効なエッジ証明書があることを確認してください。証明書がない場合、訪問者に証明書エラーが表示されます。
HSTS とセキュリティヘッダー
HSTS とセキュリティレスポンスヘッダーカードの設定は、エッジから訪問者に送信するレスポンスに追加されます。変更後は、カード右上の 保存をクリックしてください。
HSTS(HTTP Strict Transport Security)
| フィールド | 説明 |
|---|---|
| スイッチ | HTTPS レスポンスに Strict-Transport-Security ヘッダーを追加します。平文 HTTP のレスポンスには追加しません |
| max-age | ブラウザーが HTTPS を使用し続ける期間です。一般的には 31536000を指定します |
| サブドメインを含む | includeSubDomains を追加します |
| Preload | ブラウザーの HSTS プリロードリストへの申請に必要な preload を追加します |
ブラウザーが一度 HSTS を受信すると、max-age の期間中、そのドメインへの平文 HTTP 接続を拒否します。まず、すべての箇所で HTTPS が機能することを確認してください。その後、300 秒など短い max-age から始め、徐々に延ばしてください。
その他のセキュリティヘッダー
- X-Frame-Options:
SAMEORIGINまたはDENYを指定し、クリックジャッキングを防止します。 - Referrer-Policy: リストからポリシーを選択します。
- X-Content-Type-Options: nosniff: ブラウザーによる MIME スニッフィングを防止します。
- Content-Security-Policy (CSP): 完全なポリシーを入力します。空欄にすると CSP ヘッダーを送信しません。
これら 4 つのヘッダーは、セキュリティレスポンスヘッダースイッチが有効な場合にのみ適用されます。
CORS とカスタムヘッダー
**CORS(オリジン間リソース共有)**では、次の項目を設定できます。
- 許可するオリジン(1 行に 1 つ。
*はすべてのオリジンを意味します) - 許可するメソッド
- 許可するリクエストヘッダー
- 公開するレスポンスヘッダー
- 認証情報を許可するかどうか
- プリフライトの max-age
オリジンに
*を指定した場合、認証情報は許可できません。- 許可するオリジン(1 行に 1 つ。
カスタムレスポンスヘッダー: set は同名のヘッダーを上書きし、add は値を追加します(繰り返し指定可能)。remove は
X-Powered-Byなどのヘッダーを削除します。
Free および Starter のサイトでは、すべてのレスポンスに Server: YeapCDN/2.0 が含まれ、Server ヘッダーの変更や削除は無視されます。Pro および Enterprise のサイトでは、Server ヘッダーを設定または削除できます。
Origin CA 証明書
Origin CA 証明書は、プラットフォームが発行し、オリジンサーバーにインストールしてエッジからオリジンへの接続を暗号化する証明書です。Yeap Cloud CDN のみが使用するもので、ブラウザーは信頼しないため、訪問者向けの証明書としては使用しないでください。
発行するには、次の手順で操作します。
- Origin CA 証明書カードで 証明書を発行をクリックします。
- ダイアログに入力します。
- ドメイン (SANs): デフォルトは
example.comと*.example.comです。 - キーの種類: ECC P-256(推奨)、RSA 2048、RSA 4096 から選択します。
- 有効期限: 7 日から 15 年です。デフォルトは 15 年です。
- ドメイン (SANs): デフォルトは
- 証明書と秘密鍵をすぐにコピーして保管してください。**秘密鍵は一度しか表示されません。**ダイアログを閉じると、再表示できません。
- オリジンの Web サーバーに証明書と鍵をインストールします。
- サイトの暗号化モードを フルに設定します。
オリジンで CA チェーンが必要な場合は、CA ルート証明書をダウンロードをクリックしてください。証明書一覧では、証明書の表示、失効、削除ができます。
フル・厳格モードは、公開認証局に基づいてオリジン証明書を検証します。Origin CA 証明書を使用するオリジンには、フルモードを使用してください。