Nginxの設定ミスがERR_TOO_MANY_REDIRECTSにつながる一般的なシナリオ

支出 Nginx ウェブサーバーとして動作する場合err_too_many_redirects エラーはよくある設定の問題の一つです。このエラーは通常、Nginxコンフィギュレーションの誤ったリダイレクト・ルールもしかしたらプロキシ設定を使うと、リクエストは無限のリダイレクトループに入ります。この記事では err_too_many_redirects 不適切なNginx設定の問題とその解決策。

イメージ[1] - Nginx設定におけるERR_TOO_MANY_REDIRECTSエラーの解決

1.HTTPからHTTPSへのリダイレクトループ

の最も一般的な原因のひとつである。HTTPからHTTPSへのリダイレクトが正しく設定されていない多くの場合、サイトはすべてのトラフィックに HTTPS を強制的に使用させたがります。多くの場合、サイトはすべてのトラフィックにHTTPSを強制的に使用させたがりますが、Nginxが正しく設定されていないと、その結果 HTTPからHTTPSへリダイレクトサイクル.

間違ったやり方

1.誤ったサーバー・リダイレクト・ルールの設定サーバーの設定が誤ってリダイレクトループを導入し、リクエストがHTTPとHTTPSの間でバウンスし続けた可能性があります。

2.ブラウザ・キャッシュの問題特にHTTPからHTTPSへのリダイレクトが正しく処理されていない場合、ブラウザがリダイレクト情報をキャッシュし、ループを引き起こす可能性があります。

3.ロードバランサーまたはプロキシ設定の問題ロードバランサーやプロキシサーバーを使用している場合、HTTPとHTTPSの間でリクエストが延々とリダイレクトされる設定ミスがある可能性があります。

画像[2]-Nginx設定におけるERR_TOO_MANY_REDIRECTSエラーの解決

解決策
セキュア HTTP とHTTPSは別々に処理され、互いにリダイレクトされない。例えば、適切なHTTPからHTTPSへのリダイレクト設定は以下のようになります:

# HTTP -> HTTPS リダイレクト
サーバー
    listen 80; server_name example.com; server_name
    server_name example.com; return 301 ;
    return 301 https://$host$request_uri;
}

# HTTPSコンフィギュレーション
サーバ {
    listen 443 ssl; server_name example.com; }.
    サーバ名 example.com.

    ssl_certificate /path/to/certificate; ssl_certificate_key /path/to/private_key; ssl_certificate_key
    ssl_certificate_key /path/to/private_key; ssl_certificate_key /path/to/private_key; ssl_certificate_key

    # その他のHTTPS設定
}

2. Xフォワード・プロト ヘッドの方向性

Nginxがリバースプロキシとして動作している場合、バックエンドサーバは Xフォワード・プロト このヘッダーはリクエストのプロトコルタイプを決定する。設定を誤ると、バックエンドサーバがリクエストを HTTP か HTTPS だと誤認し、リダイレクトを引き起こす可能性があります。

間違ったやり方

  • NginxのコンフィギュレーションではXフォワード・プロト ヘッダーが正しく渡されず、バックエンドアプリケーションがHTTPSまたはHTTPにリダイレクトする必要があると誤って判断した。

解決策
正しいパス Xフォワード・プロト 頭だ:

X-Forwarded-Protoヘッダが正しく渡された。

3.代理店契約の抵触

リクエストが Nginx 経由でバックエンドサーバにプロキシされる場合、プロトコル (HTTP または HTTPS) の不整合もリダイレクトループの原因になります。特に、HTTP リクエストが HTTPS バックエンドサーバにプロキシされるとき、バックエンドサーバがリクエストを HTTP だと誤認すると、HTTPS リダイレクトを送信してループを引き起こす可能性があります。

間違ったやり方

  • NginxはHTTPリクエストを受信し、HTTPSバックエンドにプロキシしますが、バックエンドはHTTPにリダイレクトします。

解決策
Nginxがバックエンドサーバーと同じプロトコルを使用しており、正しく設定されていることを確認する。 プロキシ設定ヘッダー 頭だ。

proxy_set_headerヘッダーの正しい使い方

4.キャッシュの問題

ブラウザやプロキシサーバは、リダイレクトレスポンスをキャッシュすることがあります。リダイレクト.

サンプルシナリオ

  • ブラウザが間違ったリダイレクト応答をキャッシュすると、それ以降のリクエストは再びリダイレクトループに入ることになります。

解決策
ブラウザのキャッシュをクリア

画像[5]-Nginx設定のERR_TOO_MANY_REDIRECTSエラーを解決する

err_too_many_redirects 不正解通常、リダイレクト、プロキシ、Nginx設定のプロトコル処理に問題がある場合に発生します。このエラーは、リダイレクトルール、プロキシ設定、ヘッダ受け渡しが適切に行われるようにNginxの設定を注意深くチェックし調整することで回避できます。


お問い合わせ
チュートリアルが読めない?無料でお答えします!個人サイト、中小企業サイトのための無料ヘルプ!
カスタマーサービス WeChat
カスタマーサービス WeChat
電話:020-2206-9892
QQ咨询:1025174874
Eメール:[email protected]
勤務時間: 月~金、9:30~18:30、祝日休み
© 複製に関する声明
著者:リウヤン
終わり
好きなら応援してください。
クドス155 分かち合う
解説 ソファ購入

コメントを投稿するにはログインしてください

    コメントなし