TLS オリジンサーバーのエラーメッセージ

TLS を使用してオリジンサーバーに接続する場合、以下のようなエラーが発生することがあります。

ホスト名の不一致

  • Error: Hostname mismatch

エラーの発生原因

オリジンサーバーから配信される TLS サーバー証明書にあるコモンネーム (CN) またはサブジェクトの別名 (SAN) のリストと、オリジンサーバーのホスト名または、オリジンサーバーの SSL ホスト名設定が一致しません。

解決方法

オリジンサーバーにある証明書の CN または SAN にあるホスト名に Fastly の設定を一致させることで解決することができます。

  1. Fastly コントロールパネルにログインします。
  2. All services ページから、該当するサービスを選択します。検索ボックスを使用して ID、名前、またはドメインで検索することができます。
  3. Edit configuration ボタンをクリックし、アクティブなバージョンをクローンするオプションを選択します。ドメインページが表示されます。
  4. Origins をクリックします。Origins ページが表示されます。
  5. 鉛筆のアイコンをクリックして、対象となるホストを編集します。Edit this host ページが表示されます。
  6. Certificate Hostname フィールドに、TLS 証明書に関連するホスト名を入力します。入力する値は、発行された証明書にあるコモンネーム (CN) もしくはサブジェクトの別名 (SAN) のどちらかと一致している必要があります。例えば、証明書の CN に www.example.com が設定されている場合、ホスト名にはその値を入力します。
  7. Update ボタンをクリックします。
  8. Activate ボタンをクリックして設定変更をデプロイします。

カスタム VCL を使用している場合、オリジンサーバーの定義の .ssl_cert_hostname フィールドを利用して、証明書と一致するホスト名を指定できます。例:.ssl_cert_hostname = www.example.com;

証明書チェーンの不一致

  • Error: unable to verify the first certificate
  • Error: self signed certificate
  • Error: unable to get local issuer certificate
  • Error: self signed certificate in certificate chain
  • Error: unable to get issuer certificate

エラーの発生原因

Fastly で利用しているどの認証局 (CA) を使っても検証できなかった証明書チェーンがオリジンサーバーに設定されています。以下の2つの理由により発生します。

  • 証明書が自己署名、または自己発行の証明書であり、Fastly による検証を可能にする CA 証明書が Fastly に提供されていない。
  • CA によって発行された証明書であるものの、Fastly で当該 CA の証明書がサポートされていない。

解決方法

いずれの場合も、Fastly が証明書の検証に使用できる CA 証明書をお客様のサービス設定に追加することで解決できます。

  1. Fastly コントロールパネルにログインします。
  2. All services ページから、該当するサービスを選択します。検索ボックスを使用して ID、名前、またはドメインで検索することができます。
  3. Edit configuration ボタンをクリックし、アクティブなバージョンをクローンするオプションを選択します。ドメインページが表示されます。
  4. Origins をクリックします。Origins ページが表示されます。
  5. 鉛筆のアイコンをクリックして、対象となるホストを編集します。Edit this host ページが表示されます。
  6. TLS CA certificate フィールドに PEM 形式の CA 証明書をコピーアンドペーストします。
  7. Update ボタンをクリックします。
  8. Activate ボタンをクリックして設定変更をデプロイします。

カスタム VCL を使用している場合、バックエンドパラメーターの .ssl_ca_cert に PEM エンコードされた CA 証明書を設定することで、Fastly が使用する CA を指定することができます。

あるいは、Fastly が利用している CA (例:Globalsign) から新たに証明書を取得してオリジンサーバーに設定することでも解決できます。

接続の失敗

  • Error: Gethostbyname
  • Error: Connection timeout
  • Error: Connection refused

各エラーの発生原因と解決方法

Gethostbyname エラーは、設定したオリジンサーバーのホスト名が NXDOMAIN として応答していることを示しています。オリジンサーバー名に対する DNS 設定が正しいか再確認してください。

Connection time out エラーは、オリジンサーバーへの接続でタイムアウトが発生していることを示しています。オリジンサーバーへのアクセスが可能な状態で、レスポンスの応答時間が適切かどうか再確認してください。

Connection refused エラーは、ファイアウォールやネットワーク ACL によりオリジンサーバーへの接続が拒否されている可能性があることを示しています。Fastly の IP アドレスリストをホワイトリストにしていることと、オリジンサーバーが Fastly のネットワークからアクセス可能であることを再確認してください。

証明書の期限切れ

Error: Certificate has expired

エラーの発生原因

オリジンサーバーにインストールされている証明書が有効期限切れとなっており、有効期限内の証明書に置き換える必要があります。

解決方法

自己署名証明書の場合、保有している秘密鍵で発行した CSR から自分で証明書を作成し、オリジンサーバーにインストールすることで解決します。

CA が署名した証明書の場合、保有している秘密鍵で新しい CSR を発行し、CA に署名を依頼します。CA によって署名された証明書をオリジンサーバーにインストールすることで解決します。

SSL と古い TLS プロトコルのエラー

  • Error: Unknown protocol
  • Error: SSL handshake failure
  • Error: TLSv1 alert internal error

エラーの発生原因

オリジンサーバーが TLS を利用するように設定されていない、または古いバージョンのプロトコルのみをサポートしています。Fastly では SSLv2 または SSLv3 はサポートしていません。

解決方法

オリジンサーバーが TLS を利用するように設定されている場合、問題を解決するため、以下を参考にしてください。

  • オリジンサーバーのソフトウェアが最新であることと、お客様のプラットフォームまたはオペレーションシステムで最新バージョンの TLS ライブラリーが使用されていることをご確認ください。新しいバージョンのプロトコルを明示的に有効にする必要がある場合があります。Fastly は TLS 1.3、1.2、1.1、1.0 をサポートしています。
  • オリジンサーバーに接続できることをご確認ください。例えば、TLS 1.3 を使用する場合は、echo Q | openssl s_client -connect ${IP}:443 -tls1_3 のようなコマンドを入力します。他のバージョンの TLS をテストする場合は、-tls1_3tls1_2-tls1_1、または -tls1_0 に置き換えてください。TLS の接続に成功すると、証明書、サブジェクト、発行者、およびその他の診断情報が表示されます。
  • sslscan を利用することで、TLS サーバーがサポートしている TLS プロトコルと暗号スイートを確認できます。

オリジンサーバーが TLS を利用するように設定されていない場合、お客様のサービスの設定で TLS を無効にし、443ポートではなく80ポートで通信を行うように設定を変更してください。

  1. Fastly コントロールパネルにログインします。
  2. All services ページから、該当するサービスを選択します。検索ボックスを使用して ID、名前、またはドメインで検索することができます。
  3. Edit configuration ボタンをクリックし、アクティブなバージョンをクローンするオプションを選択します。ドメインページが表示されます。
  4. Origins をクリックします。Origins ページが表示されます。
  5. 鉛筆のアイコンをクリックして、対象となるホストを編集します。Edit this host ページが表示されます。
  6. Connect to backend using TLS メニューで No を選択します。
  7. Update ボタンをクリックします。
  8. Activate ボタンをクリックして設定変更をデプロイします。

RC4 暗号のエラー

  • Error: Using RC4 Cipher

エラーの発生原因

Fastly がオリジンサーバーに TLS で接続した際に、接続を確立するためにオリジンサーバーがサポートしている暗号スイートが RC4 のみであったことが原因です。この暗号は一般的に安全ではないと考えられており、利用すべきでないとされています。

解決方法

オリジンサーバーにおいて、サーバーと TLS ライブラリ (OpenSSL など) の両方を最新にし、暗号スイートをベストプラクティスに合わせることで解決できます。RC4 暗号を明示的に除外設定する必要がある場合があります。

Back to Top