ループ検出

Fastly はサービスの設定ミスによるループを自動検出します。ループが検出されると、Fastlyはリクエストをブロックし、エラーメッセージを生成します。同じホスト名がドメインとオリジンサーバーの両方に設定されており、ドメインの CNAME レコードが Fastly に向けられている場合にループが発生することがあります。www.example.com例えば、Fastly サービスでドメインとオリジンサーバーの新しいサービスの作成として www.example.comを設定し、Fastly に向けられている CNAME DNS レコードを追加すると、ループ検出がトリガーされます。

ループ検知のトリガーを回避する方法

ループ検知のトリガーを避けるためには、オリジンサーバーのホスト名がドメインと同じでないことを、以下2つの方法のいずれかを使用して確認する必要があります。

  • 適切な A および AAAA DNS レコードを持つオリジンサーバーの DNS ホスト名 (origin.example.com)を作成し、Fastly サービスの設定でそのオリジン DNS ホスト名を使用します。これによりオリジン (origin.example.com) がサービスのドメイン (www.example.com)と異なることが保証されます。Fastly ではこの方法を推奨します。今後、お客様が origin.example.com の DNS レコードを変更した場合、Fastly はその変更を自動的に検出して使用します。
  • Fastly サービスの設定内で、オリジンのアドレスに DNS ホスト名ではなく IPv4 アドレスを使用します。今後オリジンサーバーの IP アドレスが変更された場合、Fastly サービスの設定を新しいバージョンに更新して有効化する必要があります。

エラーメッセージの例

Fastly がループを検出すると、以下のようなエラーメッセージがヘッダーに表示されます。

1
2
3
4
5
6
7
HTTP/1.1 503 Loop detected
Error-Reason: loop detected
Connection: close
Content-Type: text/plain
Fastly-Host: <hostname>
Fastly-FF: <hostname>
Server: Varnish
Back to Top