ループ検出
最終更新日 2018-04-24
Fastly はサービスの設定ミスによるループを自動検出します。ループが検出されると、Fastlyはリクエストをブロックし、エラーメッセージを生成します。同じホスト名がドメインとオリジンサーバーの両方に設定されており、ドメインの CNAME レコードが Fastly に向けられている場合にループが発生することがあります。例えば、Fastly サービスでwww.example.com
の新しいサービスの作成として を設定し、Fastly に向けられている CNAME DNS レコードを追加するwww.example.com
と、ループ検出がトリガーされます。
ループ検知のトリガーを回避する方法
ループ検知のトリガーを避けるためには、オリジンサーバーのホスト名がドメインと同じでないことを、以下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 がループを検出すると、以下のようなエラーメッセージがヘッダーに表示されます。
1HTTP/1.1 503 Loop detected2Error-Reason: loop detected3Connection: close4Content-Type: text/plain5Fastly-Host: <hostname>6Fastly-FF: <hostname>7Server: Varnish