2024年10月2日以降、Fastly社のドメインフロンティング対策(※)によって、
SNIに値の入っていないリクエストやSNIの値がホストヘッダーと異なるリクエストはブロック対象となります。
※ドメインフロンティングを使用した不正なサーバーへのアクセスをブロックすることが目的です。
ドメインフロンティング対策によってブロックされた場合、キャッシュサーバーよりレスポンスコード421が返却されます。
また、ブラウザ上では、下記のようなエラーメッセージが表示されます。
Requested host does not match any Subject Alternative Names (SANs) on TLS certificate [xxxxx] in use with this connection.
Visit https://docs.fastly.com/en/guides/common-400-errors#error-421-misdirected-request for more information.
■確認方法
■対応策
■条件に合致するケースの例
■確認方法
ドメインフロンティング対策のブロック対象となる通信(421)があるか確認する際は、次の方法をご利用ください。
《確認方法1》レポートを確認する
クラウドコンソールの [CDN] > [レポート] より
「CDNが返したHTTPステータスコード」を選択し、「status_4xx」が増加していないか確認をお願いします。
-
《確認方法2》ログストリーミング機能で取得したログを確認する
■対応策
ドメインフロンティング対策により、必要な通信がブロックされている場合は、次の対応策をご実施ください。
《対応策》SNIの値を見直す
持ち込み証明書をご利用、且つクライアントから配信ドメインへのリクエストが下記いずれかの条件に該当する場合、ドメインフロンティング対策のブロック対象となります。
※キャッシュサーバーとオリジンサーバー間の通信ではありません。
※SNIの値が空になる場合や、SNIの値とホストヘッダーが異なる場合の具体的な例は、本ページ下部の「
■条件に合致するケースの例」をご確認ください。
■条件に合致するケースの例
SNIの値が空になる場合や、SNIの値とホストヘッダーが異なる場合の具体的な例について、Fastly社で把握している原因と対策例を以下にご案内します。
- SNIの値が空の場合
原因:クライアント側でNGINXをプロキシサーバーとして利用している。
対策:NGINXではデフォルトでSNIを含まないため、
「proxy_ssl_server_name off;」を「proxy_ssl_server_name on;」に変更する。
原因:ネットワーク機器等でヘルスチェックをおこなっている。
対策:ヘルスチェックのリクエストにSNIが含まれない場合(※)があるため、
ネットワーク機器等のSNIの設定値をご確認いただき、持ち込み証明書のコモンネーム
またはSANに記載のドメインをSNIに設定する。
原因:クライアントがSNI非対応ブラウザ(フィーチャーフォン、Android2.x以前の端末など)を利用している。
対策:SNI非対応ブラウザを使用しない。
※クラウドGSLBのヘルスチェックでは、リクエストにSNIが含まれない場合があります。
詳細は次のFAQの注意事項をご参照ください。
▼GSLBのヘルスチェックはSNIが含まれますか?
https://faq.idcf.jp/faq/show/1652?site_domain=default
- SNIの値とホストヘッダーが異なる場合
原因:持ち込み証明書のコモンネーム、またはSANに記載されていないドメインを指定している。
対策:持ち込み証明書のコモンネームまたはSANに記載のドメインをSNIに設定する。
原因:SNIにIPアドレスを指定している。
※ネットワーク機器等でヘルスチェックを行っている場合、
SNIにIPアドレスが指定される場合があります。
対策:持ち込み証明書のコモンネームまたはSANに記載のドメインをSNIに設定する。