ループ検出

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