ホームページ > 運用・保守 > Nginx > Nginx が失われた Cookie を転送する問題を解決する方法

Nginx が失われた Cookie を転送する問題を解決する方法

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
リリース: 2023-05-15 21:10:12
転載
3115 人が閲覧しました

1. 失われた Cookie の操作

路径一 :http://localhost:8080/content/requestAction!showMainServiceReqDetail.action
路径二 :http://localhost/content/requestAction!showMainServiceReqDetail.action
路径三 :http://localhost/clp/requestAction!showMainServiceReqDetail.action
ログイン後にコピー

パス 1 は直接アクセス、パス 2 とパス 3 は nginx を介してアクセスされます

3 つのアクセス前提条件
①ブラウザには Cookie があります。以下の図:
パスにアクセスする http://localhost:8080/content/requestAction!XXX.action JSESSIONIDをCookieに添付します。
この Cookie には JSESSIONID があり、この訪問に対してバックエンドによって認証できる一意の JSESSIONID が保存されています。これがないとアクセスできません。

Nginx が失われた Cookie を転送する問題を解決する方法

②nginx 設定ファイルが設定されています

server {
      listen       80;
      server_name  localhost;
location /clp {
   #proxy_set_header Host $host;
   #proxy_set_header X-Real-IP $remote_addr;
   #proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
   proxy_pass http://localhost:8080/content;
   
}

location /content {
   #proxy_set_header Host $host;
   #proxy_set_header X-Real-IP $remote_addr;
   #proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
   proxy_pass http://localhost:8080/content; 
}
ログイン後にコピー

上記の 3 つのパスを通じてアクセスします。パス 1 とパス 2 は正常にアクセスできますが、パス 3 のアクセスは失敗します

2. Cookie が失われる理由

http://localhost:8080/content/requestAction!XXX.action のアクセス パスが /content であるためです。 /requestAction,
最初のメソッドのアクセスには nginx が使用されないため、Cookie は失われません。
2 番目のメソッドのアクセスには nginx が使用されますが、パスは転送される前と同じです。 nginx を使用するため、nginx が失われることはありません
方法 3 のアクセスは nginx を使用し、アクセス パスも異なるため、nginx によって転送された Cookie が失われる問題が発生します。

3. 解決策

location /clp {
   #proxy_set_header Host $host;
   #proxy_set_header X-Real-IP $remote_addr;
   #proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
   proxy_cookie_path /content /clp;  #这一句就可以解决nginx转发丢失cookie的问题
   proxy_pass http://localhost:8080/content;	   
}
ログイン後にコピー

4. 混同されやすい点

上記のアクセスパスは、下図の赤枠内のパス、最初のスラッシュのみです。後ろの人。

Nginx が失われた Cookie を転送する問題を解決する方法

以上がNginx が失われた Cookie を転送する問題を解決する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
nginxロードバランシング
から 1970-01-01 08:00:00
0
0
0
Nginxのdefault.confの問題
から 1970-01-01 08:00:00
0
0
0
サーバー - Nginx 構成 Web アプリの問題
から 1970-01-01 08:00:00
0
0
0
nginxのロードバランシングの問題
から 1970-01-01 08:00:00
0
0
0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート