nginx+web.py+fastcgi(spawn-fcgi)的session失效問題
2019独角兽企业重金招聘Python工程师标准>>>
web.py是用DiskStore保存session文件的,參考官網的例子,結果直接python code.py運行沒問題,但和nginx結合就不行了,具體表現是:瀏覽器每發起一個請求,就會生成一個session文件。這也導致了向session存儲數據失效。
這個問題折磨了我兩天,Google上也很難找到相關說法。最後在 https://github.com/webpy/webpy/issues/132
找到了些靈感,原來是cookie path的問題!
解決方法:
修改 /usr/local/lib/python2.7/site-packages/web/session.py的第148行(web.py 0.37版本)
web.setcookie(cookie_name, session_id, expires=expires, domain=cookie_domain, httponly=httponly, secure=secure , path=cookie_path)
path=cookie_path 改成 path= '/'
問題解決!
後來分析應該就是是web.py的bug,比如訪問 http://127.0.0.1/hello ,web.py會把sessionid的cookie的
path設置為 "/hello" (實際應該是"/"),當然我這種改動太暴力了些,只對「只使用根目錄」的應用有效,
如果你使用多層的目錄URL,或者有一套複雜的session設計,那肯定不能照搬。
转载于:https://my.oschina.net/scriptboy/blog/79983
nginx+web.py+fastcgi(spawn-fcgi)的session失效問題相关推荐
- linux下nginx+python+fastcgi部署总结(web.py版)
2019独角兽企业重金招聘Python工程师标准>>> 在上一篇文章linux下nginx+python+fastcgi部署总结(django版)中,我们部署了nginx+djang ...
- Python Web初学解惑之 WSGI、flup、fastcgi、web.py的关系
首先声明这篇文章 是我从 豆瓣 上面看到的. 原文地址 http://www.douban.com/note/13508388/?start=0&post=ok#last 看我之后 豁然 ...
- Nginx+PHP(FastCGI)搭建胜过Apache十倍的Web服务器
前言:本文是我撰写的关于搭建"Nginx + PHP(FastCGI)"Web服务器的第6篇文章.本系列文章作为国内最早详细介绍 Nginx + PHP 安装.配置.使用的资料之一 ...
- nginx连接uwsgi使用web.py框架构造pythonweb项目
2019独角兽企业重金招聘Python工程师标准>>> 相关页面: http://webpy.org/install http://uwsgi-docs.readthedocs.or ...
- 从0开始,在Linux中配置Nginx反向代理、负载均衡、session共享、动静分离
写这篇文章花费了我近一周的时间,参考网上许多优秀的博客文章,我不敢说写的很好,至少很全很详细.本文先介绍原理部分,然后再进行实战操作,我认为这样才会有更深的理解,不过这也导致了文章篇幅很长.但是,如果 ...
- Linux实战教学笔记37:企业级Nginx Web服务优化实战(上)
一,Nginx基本安全优化 1.1 调整参数隐藏Nginx软件版本号信息 一般来说,软件的漏洞都和版本有关,这个很像汽车的缺陷,同一批次的要有问题就都有问题,别的批次可能就都是好的.因此,我们应尽量隐 ...
- 20步打造最安全的Nginx Web服务器
Nginx是一个轻量级的,高性能的Web服务器以及反向代理和邮箱(IMAP/POP3)代理服务器.它运行在UNIX,GNU/Linux,BSD各种版本,Mac OS X,Solaris和Windows ...
- 20个Nginx Web服务器最佳安全实践
0个Nginx Web服务器最佳安全实践 20个Nginx Web服务器最佳安全实践 Nginx 是一个轻量级,高性能的Web服务器/反向代理和电子邮件代理(IMAP/POP3),它可以运行在UNI ...
- 在windows下如何快速搭建web.py开发框架
用Python进行web开发的话有很多框架供选择,比如最出名的Django,tornado等,除了这些框架之外,有一个轻量级的框架使用起来也是非常方便和顺手,就是web.py.它由一名黑客所创建,但是 ...
最新文章
- centos7 lvm管理 把/home空间转移给/
- vb.net调用oracle存储过程,今天搞好了VB.NET调用Oracle存储过程返回游标的问题
- @RequestMapping的使用
- Java学习---流与文件
- 快速排序算法 java 实现
- java 模板方法设计模式_Java中的模板方法设计模式
- java设计模式在项目中的使用_SpringMVC项目里,有必要使用一些设计模式吗?
- 猎豹浏览器插件无法加载怎么办 插件无法加载解决方法
- 交换机VLAN、 TRUNK 、VTP 配置
- java 类.class_Java 反射之根基 Class 类
- 动态得到查询结果后绑定
- 广数系统加工中心编程_数控铣和加工中心编程
- 怎么给pdf添加水印-四个简单步骤
- Windows10 1050Ti cuda toolkit11.3 pytorch-gpu 踩坑教程
- i2c 驱动五:gpio模拟i2c
- 天梯赛PTA-7-17 约瑟夫环
- 陈嘉哲:黄金原油跳水承压,日内或将延续,如何操作?附操作建议
- 【Android】通用系列 —— 快速搭建设置界面
- win10浏览器服务器代理设置
- 关于IDM在b站的视频中不显示下载浮条的为题?
热门文章
- 利用数组实现栈java,用java编写出来:用数组实现一个栈
- mysql 表示时间_MySQL-时间(time、date、datetime、timestamp和year)
- 利用Gtmetrix检测你的网站载入速度!
- 基于HTML5实现的超酷摄像头(HTML5 webcam)拍照功能 - photobooth.js
- svm中拉格朗日对偶问题的推导
- 关于抓包出现TCP DUP ACK问题
- mysql MHA 集群搭建
- 【转载】Python中collection.Counter的用法
- C++——复制构造函数的形参为什么要是const引用
- SpringBoot—数据库初始化脚本配置