web-dev-qa-db-ja.com

同じサイトが「多すぎるリダイレクト」を生成するのは、WiFiではなく、セルラー経由のみです

外部のホストプロバイダーで小さなWebサイトをホストしています。 iPhoneから開くと、iPhoneがインターネットに接続されている方法に応じて、異なる結果が得られます。

  • WiFi経由で接続すると、ページが常に開いて期待どおりに実行される
  • Cellularを介して接続すると、ページに次のエラーメッセージが常に表示されます。

モバイルSafariの場合:

リダイレクトが多すぎるため、Safariはページを開けません。

モバイルChromeの場合:

このページは機能していないか、何度もリダイレクトされています。

モバイルOperaの場合:

このサイトにアクセスできません/ HTTPリダイレクトが多すぎます。

私の知る限り、結果を決定する唯一の違いは、インターネット接続の種類(WiFiとCellular)です。他に違いはありません。

サイトはWiFiネットワーク経由で正常に機能するため、サイトでリダイレクトループを除外しました(これが、「リダイレクトが多すぎる」エラーの最も一般的な原因です)。また、クロスサイトトラッキング防止をオフにしてみましたが、結果は同じままでした。何か不足していますか?この奇妙な行動の原因は何でしょうか?

それが関連している場合のために、ここにウェブサイト自体に関するいくつかの事柄があります:

  • ASP.NET Coreで開発されたWebサイト
  • どちらの場合もhttpsを使用してサイトにアクセスします(WiFi経由と携帯電話経由)。
  • サイトはサブドメイン上にあり、「トップ」ドメインからのワイルドカード証明書を使用しています
  • サイトは、リダイレクトとCookieを使用し、「記憶」機能を備えたASP.NET Coreの「足場が付いた」認証を使用します。
8
dasblinkenlight

デスクトップとモバイルWiFi接続でエラーが発生しない理由はまだわかりませんが、ようやく修正を見つけました。この問題は、アウトプロセスモードを使用してIIS)でWebアプリケーションをホストし、セットアップ中にUseHttpsRedirection()を呼び出すことに関係しています。

次に何が起こるか この回答で説明 :httpを介してアウトプロセスホスト(Kestrel)に接続するIISがリダイレクトされ、私の電話のブラウザが何らかの方法でそれを検出します。ログインページへの2番目のリダイレクト(正当なもの)もあり、これは電話のブラウザでもカウントされます。電話ブラウザは2つのリダイレクトを認識し、最大で1つのリダイレクトが許可されるため、エラーが表示されます。

修正は単にUseHttpsRedirection()の呼び出しを削除することでした。アウトプロセスのホスティングシナリオでは不要でした:IISフロントはhttpsを必要とするように構成されているため、クライアントはリダイレクトされます。

0
dasblinkenlight

サービスプロバイダーはApacheサーバーを使用していると思います。はいの場合は、.htacessファイルをリセットしてください(リダイレクトを含むサーバー設定の制御に使用されるサーバー構成ファイルです)。

0
Slim Coder

ブラウザが正しいコンテンツタイプを取得していないことが原因である可能性があります

これをビューまたはレイアウトの頭に追加できますか(使用している場合)

<head>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
</head>
0
Asfar Irshad