服务器之家:专注于VPS、云服务器配置技术及软件下载分享
分类导航

云服务器|WEB服务器|FTP服务器|邮件服务器|虚拟主机|服务器安全|DNS服务器|服务器知识|Nginx|IIS|Tomcat|

服务器之家 - 服务器技术 - Nginx - Nginx转发丢失cookie表现形式及解决方案

Nginx转发丢失cookie表现形式及解决方案

2023-02-06 11:38想要飞翔的企鹅 Nginx

本文主要介绍了Nginx转发丢失cookie表现形式及解决方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

一. 丢失Cookies操作

?
1
2
3
路径一 :http://localhost:8080/content/requestAction!showMainServiceReqDetail.action
路径二 :http://localhost/content/requestAction!showMainServiceReqDetail.action
路径三 :http://localhost/clp/requestAction!showMainServiceReqDetail.action

路径一是直接访问,路径二与路径三是通过nginx访问

三个访问前提条件
①浏览器有Cookie,如下图所示:
通过访问路径http://localhost:8080/content/requestAction!XXX.action 附加Cookies中的JSESSIONID。
此cookies中有JSESSIONID,存放着本次访问,后端可以认证的唯一JSESSIONID,如果没有它就会导致无法访问。

Nginx转发丢失cookie表现形式及解决方案

②配置了nginx配置文件

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
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;
}

通过上面三个路径访问,路径一与路径二可以访问成功,路径三访问失败

二. 丢失Cookies原因

因为 http://localhost:8080/content/requestAction!XXX.action的访问路径为/content/requestAction
方式一进行访问没有,没有使用nginx,所以不会丢失cookies,
方式二访问虽然使用了nginx,但是因为未经过nginx转发前路径相同,所以并不会丢失nginx
方式三访问使用了nginx,并且访问路径也不同导致了nginx转发丢失cookies的问题。

三. 解决方案

?
1
2
3
4
5
6
7
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;      
}

四. 容易搞不清的点

上面的访问路径是下图红框中的路径,只有第一个斜杠后面的才是。

Nginx转发丢失cookie表现形式及解决方案

到此这篇关于Nginx转发丢失cookie表现形式及解决方案的文章就介绍到这了,更多相关Nginx转发丢失cookie内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文链接:https://blog.csdn.net/PhilsphyPrgram/article/details/127736606

延伸 · 阅读

精彩推荐
  • Nginx关于nginx 反向代理 URL替换方案

    关于nginx 反向代理 URL替换方案

    这篇文章主要介绍了nginx 反向代理 URL替换方案,本文给大家代理两种方法一种是直接替换location匹配部分,第二种是使用nginx 的rewrite 模块,本文给大家介绍的...

    皮卡车厘子4072022-07-24
  • Nginx使用nginx模拟进行金丝雀发布的方式

    使用nginx模拟进行金丝雀发布的方式

    今天小编就为大家分享一篇关于使用nginx进行金丝雀发布,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看...

    liumiaocn5512020-01-02
  • NginxLinux下给nginx安装waf模块

    Linux下给nginx安装waf模块

    ngx_lua_waf是一个基于ngx_lua的web应用防火墙。代码很简单,开发初衷主要是使用简单,高性能和轻量级。下面我们来看看如何在为nginx安装waf模块 ...

    mindg5642019-11-13
  • Nginxwindow下使用nginx提供文件下载服务器配置

    window下使用nginx提供文件下载服务器配置

    这篇文章主要介绍了window下使用nginx提供文件下载服务器配置,需要的朋友可以参考下 ...

    zhang_ruiqiang7162019-11-29
  • NginxNginx隐藏index.php和Pathinfo模式配置例子

    Nginx隐藏index.php和Pathinfo模式配置例子

    这篇文章主要介绍了Nginx隐藏index.php和Pathinfo模式配置例子,需要的朋友可以参考下 ...

    Nginx配置网2912019-10-18
  • NginxNginx默认虚拟主机如何在server中添加

    Nginx默认虚拟主机如何在server中添加

    Nginx默认虚拟主机在使用的时候遇到的问题不亚于我们学习之初遇到的问题,下面我们就看看Nginx默认虚拟主机如何才能在server中添加。...

    博客园11512021-05-08
  • Nginx利用nginx如何匹配多个条件

    利用nginx如何匹配多个条件

    这篇文章主要给大家介绍了利用nginx如何匹配多个条件的相关资料,文中通过示例代码介绍的非常详细,对大家具有一定的参考学习价值,需要的朋友们下...

    Carey8682019-11-29
  • NginxNginx代理时header头中带"_"信息丢失问题的解决

    Nginx代理时header头中带"_"信息丢失问题的解决

    这篇文章主要给大家介绍了关于Nginx代理时header头中带"_"信息丢失问题的解决方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的...

    Sam4442020-01-03