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 同時リクエスト制御を実装する方法

推薦する

JavaScript の組み込みオブジェクト 数学と文字列の詳細な説明

目次数学オブジェクト共通プロパティ一般的な方法Math.random()文字列メソッド長さプロパティ...

mysqlのデータディレクトリ内のファイルを直接コピーしてデータを復元する実装

mysqlはデータディレクトリ内のファイルをコピーしてデータを復元します背景: MySQL がクラッ...

Linux システムで grub.cfg ファイルの破損を修復する手順

目次1. grub.cfg ファイルの紹介1. grub.cfg ファイルの場所2. grub.cf...

Vue ルーターにパラメータを渡すときにページを更新するとパラメータが失われる問題に対処する方法

目次概要方法1: params経由でパラメータを渡す方法2: クエリを通じてパラメータを渡す方法3:...

el-table カプセル化に基づくドラッグ可能な行と列、および選択列コンポーネントの実装

効果環境が必要ビュー要素UIドラッグアンドドロッププラグインSortable.js必要な構成プロパテ...

初心者向けMySQLインデックス

序文MySQL インデックスで最も重要なデータ構造は B+ ツリーなので、まずは B+ ツリーの原理...

MySQLストレージフィールドタイプのクエリ効率についての簡単な理解

検索パフォーマンスは最速から最遅まで次のとおりです (私が聞いたところによると)。 1 番目: ti...

MySQL タイムブラインドインジェクションの 5 つの遅延方法

MySQL タイム ブラインド インジェクションの 5 つの遅延方法 (PWNHUB の予期しない解...

IEの送信フォームの記録履歴クリックリターン情報を実現するためのCSSスタイルコントロールはまだ残っています

これは主に CSS スタイルのコントロールと META タグです。コードをコピーコードは次のとおりで...

Centos8でdockerがインストールできない問題の解決方法

問題 [root@zh ~]# [root@zh ~]# [root@zh ~]# yum -y d...

Linux の高並列性とパフォーマンス最適化の落とし穴の紹介

目次序文Linux アプリケーション実行中に開いているファイルが多すぎる問題の分析と解決Linux ...

Dockerはコンテナポートバインディングのローカルポートを実装します

今日、イメージを起動した後、HTTP リクエスト経由でアクセスできないという小さな問題が発生しました...

MySQLデータを復元する2つの方法

1. はじめに少し前、開発者がテスト環境や本番環境で誤った操作をし、データベースを誤って削除/更新し...

CSS3 クリックボタン円形進行ティック効果実装コード

目次8. CSS3 クリックボタンの円形進捗チェック効果8.1 画像プレビュー8.2 index.h...

Docker による Oracle 11g イメージ構成のプルに関する詳細なチュートリアル

さっそくAlibaba の oracle11g イメージをプルして構成する docker の記録を開...