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

 更新时间:2023年01月28日 15:59:29   作者:想要飞翔的企鹅  
本文主要介绍了Nginx转发丢失cookie表现形式及解决方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

一. 丢失Cookies操作

路径一 :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配置文件

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的问题。

三. 解决方案

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服务器配置404错误页面转向的方法

    NGINX服务器配置404错误页面转向的方法

    这篇文章主要为大家详细介绍了NGINX服务器配置404错误页面转向的方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-12-12
  • Nginx日志自定义记录以及启用日志缓冲区详解

    Nginx日志自定义记录以及启用日志缓冲区详解

    这篇文章主要给大家介绍了关于Nginx日志自定义记录以及启用日志缓冲区的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用Nginx具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-06-06
  • 详解Nginx启动失败的几种错误处理

    详解Nginx启动失败的几种错误处理

    这篇文章主要介绍了详解Nginx启动失败的几种错误处理,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-09-09
  • 查看nginx配置文件路径和资源文件路径的方法

    查看nginx配置文件路径和资源文件路径的方法

    这篇文章主要介绍了查看nginx配置文件路径和资源文件路径,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-11-11
  • Nginx出现403 Forbidden的四种解决方案分享

    Nginx出现403 Forbidden的四种解决方案分享

    这篇文章主要给大家分享了关于Nginx出现403 Forbidden的四种解决方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-09-09
  • 关于nginx+php5.3.8+eclipse3.7工作空间的配置方法

    关于nginx+php5.3.8+eclipse3.7工作空间的配置方法

    以前用eclipse3.6时设置php服务器时完全可以在base url栏填写自己工作空间的目录,然后修改nginx.conf加一个alias就行了
    2011-11-11
  • 使用nginx实现一个端口和ip访问多个vue前端的全过程

    使用nginx实现一个端口和ip访问多个vue前端的全过程

    为满足单端口访问多个前端应用的需求,需要对nginx进行配置,同时修改vue项目的publicPath参数,这篇文章主要介绍了使用nginx实现一个端口和ip访问多个vue前端的相关资料,需要的朋友可以参考下
    2024-09-09
  • nginx完全卸载的方法步骤

    nginx完全卸载的方法步骤

    由于现在nginx有版本漏洞,所以很多安装过nginx的需要卸载重新安装,本文主要介绍了nginx完全卸载的方法步骤,具有一定的参考价值,感兴趣的可以了解一下
    2024-08-08
  • Nginx隐藏服务器端各类信息的方法

    Nginx隐藏服务器端各类信息的方法

    这篇文章主要介绍了Nginx隐藏服务器端各类信息的方法,包括隐藏HTTP头信息和PHP版本号等等,需要的朋友可以参考下
    2015-07-07
  • nginx带宽限制 limit_rate limit_rate_after指令

    nginx带宽限制 limit_rate limit_rate_after指令

    这篇文章主要为大家介绍了nginx带宽限制 limit_rate limit_rate_after指令详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-04-04

最新评论