すべてのプロダクト
Search
ドキュメントセンター

:Alibaba Cloud CDNによってドメイン名が高速化された後にリダイレクトが多すぎる場合はどうすればよいですか。

最終更新日:Feb 22, 2024

症状

Alibaba Cloud CDNを使用してドメイン名を高速化すると、ユーザーがドメイン名にアクセスすると、ブラウザーに次のメッセージが表示されます。このページは機能しません。 xxxはあなたを何度もリダイレクトしました。 エラーメッセージ: ERR_TOO_MANY_REDIRECTS。

原因

ブラウザは、1回のリクエストに対するリダイレクトの最大数を制限します。 たとえば、Chromeは20回以上リダイレクトされた後にリクエストを終了し、あまりにも多くの指示エラーを表示します。

Alibaba Cloud CDNの使用前にこのエラーが発生したことがなく、Alibaba Cloud CDNの使用後に発生することがある場合、オリジンサーバーが不適切に設定され、back-to-originルーティング中に無限のリダイレクションループが発生する可能性があります。

一般的な原因: オリジンサーバーでHTTPS経由の強制リダイレクトが有効になっている場合、HTTP経由のback-to-originリクエストはHTTPSにリダイレクトされます。 この場合、オリジンポート80または静的オリジンプロトコルポリシーがドメイン名に設定されている場合、HTTPを介したback-to-originリクエストは無限ループを引き起こす可能性があります。

たとえば、オリジンポート80が設定されている場合、リダイレクションループのロジックは次のようになります。
  1. クライアントは、高速化ドメイン名http://example.aliyun.com/ にアクセスします。
  2. Alibaba Cloud CDNは、back-to-originルーティング用にポート80を指定します。 back-to-originリクエストがHTTP経由でオリジンサーバーに送信されると、オリジンサーバーはリクエストをhttps://example.aliyun.com/ にリダイレクトします。
  3. クライアントはリダイレクトされたURL https://example.aliyun.com/ にアクセスします。
  4. Alibaba Cloud CDNはback-to-originルーティング用にポート80を指定しているため、back-to-originリクエストは引き続きHTTP経由で送信され、オリジンサーバーはリクエストをhttps://example.aliyun.com/ 再送信にリダイレクトします。
  5. クライアントはリダイレクトされたURLにhttps://example.aliyun.com/ 再度アクセスします。その後、ステップ3と4が無限に繰り返されます。
前のロジックに示されているように、Alibaba Cloud CDNがback-to-originルーティングにポート80を指定すると、クライアントがHTTPまたはHTTPSでドメイン名にアクセスするかどうかに関係なく、back-to-originリクエストがHTTPで送信されます。 オリジンサーバーでHTTPS経由の強制リダイレクトが有効になっている場合、無限のリダイレクションループが発生します。

解決策

発生した問題が上記のロジックを満たしている場合は、次の手順を実行してback-to-origin構成を変更できます。

  1. オリジンポートを443に設定します。 詳細については、「オリジンサーバーの設定」をご参照ください。
    Configure the port
  2. 静的オリジンプロトコルポリシーを無効にするか、back-to-originルーティングのプロトコルとしてHTTPSを指定します。 詳細については、「オリジンプロトコルポリシーの設定」をご参照ください。
    Configure the static origin protocol policy
  3. ディレクトリ更新タスクを送信して、ルートディレクトリを更新します。 詳細については、「リソースの更新とプリフェッチ」をご参照ください。
    Refresh directories
  4. 更新タスクが完了したら、ローカルブラウザーのキャッシュをクリアして、もう一度お試しください。