Nginx セッション損失問題の解決策

Nginx セッション損失問題の解決策

nginx をリバース プロキシ tomcat として使用する場合、セッション損失が発生する可能性があります。リクエストが送信されるたびに JESSIONID が変更され、最後のセッションが失われ、新しいセッションが作成されたことが示されます。

最初のケース:

 サーバ{
    聞く 80;
    サーバー名 www.jiahemdata.com www.jiahemdata.cn;
    文字セット utf-8;
    位置 /{
      proxy_redirect オフ;
      プロキシパス http://127.0.0.1:8093;
      proxy_set_header ホスト $host;
      proxy_set_header リファラー $http_referer;
      proxy_set_header X-Real-Ip $remote_addr;
      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
    access_log ログ/tomcat_access.log;
  }

現在の nginx は 1 つのポートのみを listen し、パスを設定しないため、セッション損失の問題は通常は発生しません。

2番目のケース:

 サーバ{
    聞く 80;
    サーバー名 www.jiahemdata.com www.jiahemdata.cn;
    ルート /opt/tomcat-jhyx/webapps/jhyx/;
    文字セット utf-8;
    位置 /{
      プロキシパス http://127.0.0.1:8093/jhyx/;
      proxy_set_header ホスト $host;
      proxy_set_header リファラー $http_referer;
      proxy_set_header X-Real-Ip $remote_addr;
      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
    access_log ログ/tomcat_access.log;
  }

この場合、ポートのリッスンだけでなく、Tomcat フォルダーも指定されるため、各リクエストが変更され、セッションが失われます。

3番目のケース:

 サーバ{
    聞く 80;
    サーバー名 www.jiahemdata.com www.jiahemdata.cn;
    ルート /opt/tomcat-jhyx/webapps/jhyx/;
    文字セット utf-8;
    位置 /{
      proxy_redirect オフ;
      プロキシパス http://127.0.0.1:8093/jhyx/;
      proxy_cookie_path /jhyx/ /; //リクエストが発生するたびにCookieパスが変更されないように設定してください。
      proxy_cookie_path /jhyx/;
      proxy_set_header ホスト $host;
      proxy_set_header リファラー $http_referer;
      proxy_set_header X-Real-Ip $remote_addr;
      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
    access_log ログ/tomcat_access.log;
  }

この時点で、問題はまだ解決されていないことに気付きます。この時点で、Cookie パスを明確に設定したのに、なぜ機能しないのかと考えています。これは、リクエストしたときに Cookie を送信しなかったためです。

4番目のケース:

 サーバ{
    聞く 80;
    サーバー名 www.jiahemdata.com www.jiahemdata.cn;
    ルート /opt/tomcat-jhyx/webapps/jhyx/;
    文字セット utf-8;
    位置 /{
      proxy_redirect オフ;
      プロキシパス http://127.0.0.1:8093/jhyx/;
      proxy_cookie_path /jhyx/ /;
      proxy_cookie_path /jhyx/;
      proxy_set_header ホスト $host;
      proxy_set_header リファラー $http_referer;
      proxy_set_header Cookie $http_cookie; //リクエスト送信時にクッキー情報を伝達します proxy_set_header X-Real-Ip $remote_addr;
      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
    access_log ログ/tomcat_access.log;
  }

インターネットで正しい解決策が見つかるといいですね。

Nginx セッション損失問題を解決する方法についての記事はこれで終わりです。Nginx セッション損失の詳細については、123WORDPRESS.COM の以前の記事を検索するか、次の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • Springsession nginx リバースプロキシ統合プロセス
  • Nginx セッション共有問題の解決策の分析
  • Nginx リバース プロキシでセッション永続性を実装する 2 つの方法の詳細な説明
  • Nginx+Tomcat によるセッション管理の実装
  • nginx+redisはセッション共有を実現します
  • nginx+tomcatは負荷分散を実装し、redisセッション共有を使用します
  • Nginxでの共有セッション設定方法の例
  • Nginx 負荷分散マルチサイト共有セッション

<<:  複数の値を返す MySQL ストアド プロシージャ メソッドの例

>>:  JS ベースの Ajax 同時リクエスト制御を実装する方法

推薦する

HTML でナンバープレート番号と州の略語を入力するためのサンプルコード

原理としては、まずボタン付きの div を記述し、次に画面のサイズに応じて自動的に適応してキーボード...

Vuex はシンプルなショッピングカート機能を実装します

この記事の例では、ショッピングカート機能を実装するためのvuexの具体的なコードを参考までに共有して...

Linux での VMWare15.5 のインストールに関するチュートリアル

Linux に VMWare をインストールするには、公式 Web サイト https://www....

Raspberry PiにDockerをインストールする方法

Raspberry Pi は ARM アーキテクチャをベースとしているため、Docker のインスト...

自動開始および停止コマンドを適用するには、Docker サービスを再起動します (推奨)

Docker サービス アプリケーションを再起動するコマンドを見てみましょう。具体的な内容は次のと...

CSS 属性セレクタを使用して HTML DNA を接合する方法

CSS 属性セレクターは素晴らしいです。大量のクラス名を追加することを回避し、コード内の問題を指摘す...

Nginx 急ぎ購入 電流制限構成 実装分析

ビジネス上のニーズにより、急ぎの購入が発生することが多いため、ロード バランシング フロント エンド...

Linuxコマンドに基づいてフォルダー内の特定のファイルパスを抽出します

最近では、特定のフォルダ内の特定のファイルを自動的に検索する必要があり、ファイルパスとファイル名を別...

Nginx がフロントエンド リソースへのクロスドメイン アクセスの問題をどのように解決するかの詳細な説明

フロントエンドのクロスドメイン問題に2日間近く悩まされましたが、ようやくngnxを使って解決したので...

nginx ログを elasticsearch にインポートする方法の例

nginx ログは filebeat によって収集され、logstash に渡され、logstash...

Ubuntu 12.04 でカーネルツリーを構築する実装プロセスの詳細な説明

まず使用しているカーネルのバージョンを確認してくださいlin@lin-仮想マシン:~$ uname ...

Linux系でよく使われる運用・保守コマンド(まとめ)

目次1. システム監視2. ファイル操作3. ネットワーク通信4. システム管理仕事で必要なLinu...

MySQL パーティション テーブルに関するパフォーマンス バグ

目次2. pt-pmapを使用したスタック分析3. このコラムのボトルネックポイントの分析4. パー...

Ant Design Blazor コンポーネントライブラリのルーティング再利用マルチタブ機能

最近、Ant Design Blazor コンポーネント ライブラリにマルチタブ コンポーネントを実...

MySQL データ型の詳細

目次1. 数値型1.1 数値型の分類1.1.1 浮動小数点数1.1.2 ビットタイプ1.1.3 時間...