解决nginx使用proxy_pass反向代理时,cookie丢失的问题

摘要:
再次访问时,浏览器会发送当前的cookie。详细看了文档:http://nginx.org/en/docs/http/ngx_http_proxy_module.html?

1. 如果只是host、端口转换,则cookie不会丢失。例如:
location /project {
proxy_pass http://127.0.0.1:8080/project;

}

通过浏览器访问http://127.0.0.1/project时,浏览器的cookie内有jsessionid。再次访问时,浏览器会发送当前的cookie。
2. 如果路径也变化了,则需要设置cookie的路径转换,nginx.conf的配置如下
location /proxy_path {
proxy_pass http://127.0.0.1:8080/project;

}

通过浏览器访问http://127.0.0.1/proxy_path时,浏览器的cookie内没有jsessionid。再次访问时,后台当然无法获取到cookie了。

详细看了文档:http://nginx.org/en/docs/http/ngx_http_proxy_module.html?&_ga=1.161910972.1696054694.1422417685#proxy_cookie_path

加上路径转换:proxy_cookie_path /project /proxy_path;

则可以将project的cookie输出到proxy_path上。正确的配置是:

location /proxy_path {
proxy_pass http://127.0.0.1:8080/project;
proxy_cookie_path /project /proxy_path;
}

免责声明:文章转载自《解决nginx使用proxy_pass反向代理时,cookie丢失的问题》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Python queue (队列)SNMP的工作原理&软件开发下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

ELK(elasticsearch+logstash+kibana)入门到熟练-从0开始搭建日志分析系统教程

#此文篇幅较长,涵盖了elk从搭建到运行的知识,看此文档,你需要会点linux,还要看得懂点正则表达式,还有一个聪明的大脑,如果你没有漏掉步骤的话,还搭建不起来elk,你来打我。ELK使用elasticsearch+logstash+kibana三个开源插件实现,logstash负责收取日志信息,并将收取到的日志信息进行过滤,格式化,后存储到elasti...

OpenResty学习指南(一)

我的博客: https://www.luozhiyun.com/archives/217 想要学好 OpenResty,你必须理解下面 8 个重点: 同步非阻塞的编程模式; 不同阶段的作用; LuaJIT 和 Lua 的不同之处; OpenResty API 和周边库; 协程和 cosocket; 单元测试框架和性能测试工具; 火焰图和周边工具链; 性...

nginx配置https,重定向后https变成了http

nginx配置https如下 nginx 后面应用是对应的tomcat应用 server { listen 80; server_name xxxx.com; rewrite ^(.*) https://$server_name$1 permanent; } server { listen...

Ansible自动化运维笔记3(playbook)

1.基本语法### playbook文件格式为yaml语法.示例如下: 1.1 nginx.yaml --- - hosts: all tasks: - name: Install Nginx Package yum: name=nginx state=present - name: Copy Nginx.co...

cookie、session、sessionid 与jsessionid(转)

cookie、session、sessionid 与jsessionid,要想明白他们之间的关系,下面来看个有趣的场景来帮你理解。     我们都知道银行,银行的收柜台每天要接待客户存款/取款业务,可以有几种方案:   凭借柜台职员的记忆,由收柜台职员来为每位顾客办理存款/取款业务,单凭职员的记忆力,要记到每位顾客的相貌,并迅速这个顾客当前的存款以及存取的...

HTTP 请求头 Header

HTTP 请求头 Header  HTTP请求头概述 (HttpServletRequest) HTTP客户程序(例如浏览器),向服务器发送请求的时候必须指明请求类型(一般是GET或者POST或者HEAD)。   如有必要,客户程序还可以选择发送其他的请求头。大多数请求头并不是必需的,但Content-Length除外。对于POST请求来说Content-...