当前位置: 首页 > 知识库问答 >
问题:

nginx不断传递相同的http_cookie给uwsgi

岳永思
2023-03-14

我有一个通过uwsgi运行的小型python应用程序,其中的请求由nginx提供。

我正在打印环境变量。。。看起来在两个ok请求之后,nginx正在为不相关的请求发送相同的HTTP_COOKIE参数:

例如:

{'UWSGI_CHDIR':'/ebs/py','HTTP_COOKIE':'ge_t_c=4fcee8450c3bee709800920c','UWSGI_SCRIPT':'服务器','uwsgi.version':'1.1.2','REQUEST_METHOD':'GET','PATH_INFO':'/reDirect/ebebaf3b-475a-4010-9a72-96eeff797f1e','SERVER_PROTOCOL':'HTTP/1.1','QUERY_STRING': '', ' x-wsgiorg.fdevent.readable ': , 'CONTENT_LENGTH': '', ' uwsgi.ready_fd:无,HTTP_USER_AGENT:Mozilla/5.0(兼容;MSIE 9.0;Windows NT 6.1;WOW64;三叉戟/5.0),HTTP_CONNECTION:关闭,HTTP_REFERER:--plhd--3/>,SERVER_NAME:pixel.domain.com,REMOTE_ADDR:10.load.bal.ip,wsgi.url_scheme:超文本传输协议,SERVER_PORT:80,wsgi.multiprocess:True,uwsgi.node': ' py.domain.com,'DOCUMENT_ROOT':'/etc/nginx/html','UWSGI_PYHOME':'/ebs/py','uwsgi.core':127,'HTTP_X_FORWARDED_PROTO':'超文本传输协议','x-wsgiorg.fdevent.writable ': , 'wsgi.input': , 'HTTP_HOST:'track.domain.com','wsgi.multithread': False,'REQUEST_URI':'/reDirect/ebebaf3b-475a-4010-9a72-96eeff797f1e','HTTP_ACCEPT':'text/html, Application/xhtml xml, /', ' ':(1,0),x-wsgiorg.fdevent.timeout:无,HTTP_X_FORWARDED_FOR:10.load.bal.ip,wsgi.errors ': , 'REMOTE_PORT:36462,HTTP_ACCEPT_LANGUAGE:en-US,wsgi.run_once:假,HTTP_X_FORWARDED_PORT:CONTENT_TYPE': '', 'file_wrapperHTTP_ACCEPT_ENCODING

{'UWSGI_CHDIR':'/ebs/py','HTTP_COOKIE':'ge_t_c=4fcee8450c3bee709800920c','UWSGI_SCRIPT':'服务器','uwsgi.version':'1.1.2','REQUEST_METHOD':'GET','PATH_INFO':'/reDirect/2391e658-95ef-4300-80f5-83dbb1a0e526','SERVER_PROTOCOL':'HTTP/1.1','QUERY_STRING': '', ' x-wsgiorg.fdevent.readable ': , 'CONTENT_LENGTH': '', ' uwsgi.ready_fd:无,HTTP_USER_AGENT:Mozilla/5.0(iPad;CPU操作系统5_1_1像Mac OS X)AppleWebKit/534.46(KHTML,像壁虎)Version/5.1 Mobile/9B206 Safari/7534.48.3'、'HTTP_CONNECTION':'关闭'、'HTTP_REFERER':'http://www.facebook.com/'、'SERVER_NAME':'pixel.domain.com'、'REMOTE_ADDR':'10.load.balancer.ip'、'wsgi.url_scheme':'超文本传输协议'、'SERVER_PORT':'80'、'wsgi.multiprocess': True,'uwsgi.node':'py.domain.com','DOCUMENT_ROOT':'/etc/nginx/html','UWSGI_PYHOME':'/ebs/py','uwsgi.core': 127,'HTTP_X_FORWARDED_PROTO':'超文本传输协议','x-wsgiorg.fdevent.writable': , ' wsgi.input ': , 'HTTP_HOST':'fire.domain.com','wsgi.multithread': False,'REQUEST_URI':'/reDirect/2391e658-95ef-4300-80f5-83dbb1a0e526','HTTP_ACCEPT':'text/html,应用程序/xhtml xml,应用程序/xml;q=0.9,/;q=0.8','wsgi.version':(1,0),'x-wsgiorg.fdevent.timeout':无,'HTTP_X_FORWARDED_FOR':'10.load.bal.ip','wsgi.errors ': , 'REMOTE_PORT':'39498','HTTP_ACCEPT_LANGUAGE':'en-us','wsgi.run_once': False,'HTTP_X_FORWARDED_PORT':'80','CONTENT_TYPE': '', 'wsgi.file_wrapper':,'HTTP_ACCEPT_ENCODING':'gzip,缩小'}

这是两个不同的客户机。我打开了一个匿名会话,确认头中没有发送cookie,uwsgi日志显示它收到了相同的HTTP_cookie。

如何确保nginx只传递当前请求的正确信息,而不考虑其他请求?

共有1个答案

陆飞鸿
2023-03-14

想出来了...

我不得不将这一行添加到/etc/nginx中的uwsgi_参数中/

uwsgi_参数HTTP_COOKIE$HTTP_COOKIE;

如果没有它,HTTP_COOKIE变量就无法在uwsgi/python应用程序中受信任。

 类似资料:
  • 我正在尝试使用nginx代理传递到使用基本身份验证的Kibanapod。 用于测试(这是另一个k8s集群,但非常相似,使用相同的命名空间,kube dns,POD内的env匹配,并且它们彼此看到)上下文:我通过AWS中k8s的helm部署了这个,nginx有一个Kubernetes LB服务类型(基本上是AWS的ELB,其cname位于route53)。 如果我将nginx pod指向kibana

  • 我遇到了以下两个依赖项的问题: org.apache.felix"org.apache.felix.utils" 和 通用域名格式。github。rotty3000»phidias»0.3.2 它们都对组织有可传递的依赖关系。奥斯基。核心,felix依赖于版本4.1.0,phidias依赖于版本5.0.0 我们需要5.0.0版本才能正确编译代码 如果我把我的依赖项作为: Maven自动获取版本4.

  • 本文向大家介绍vue给组件传递不同的值方法,包括了vue给组件传递不同的值方法的使用技巧和注意事项,需要的朋友参考一下 这里讲解一下Vue 官网的一个实例,Vue将数据遍历传递给多个组件,这个是我们实际开发中常做的事情。一般大型应用都是使用组件搭建起来的,我们需要给组件传递不同的值,来实现不同的展现,实现代码的复用。 代码分析: 这里我直接使用了一个Vue的CDN,然后实例化Vue对象就可以使用。

  • 我想从另一个作业中获取参数,就像我们从另一个作业中复制工件一样。 考虑2个詹金斯作业A和B。拉链制品。 我的要求:我希望作业B将所有参数传递给作业A中的构建#30。(我使用复制工件插件从作业A的#30复制.zip)如何从不同的jenkins作业获取参数?

  • 问题内容: 我有一个使用测试范围的库L v1.0.0的项目A。项目A还依赖于项目B(具有范围编译),而B则可传递地依赖于库L v1.0.0(具有范围编译)。 为什么项目A的库L的最终范围是“测试”?它在运行时导致我NotClassDefFoundError。似乎库L上项目A的依赖项定义覆盖了L上的传递性依赖项。 怎么了 我的项目A仅将L用于单元测试,因此我定义了“测试”范围的依赖项。但是,最后,我

  • 问题内容: 大家晚上好。 当尝试将一个对象传递给另一个对象构造函数时,我似乎遇到了一个奇怪的问题,该对象的构造函数也依赖于要传递给它的对象。 例如,使用以下示例: 但是,在构造ToolBar时,它将返回NullPointerException。当然,这是因为尚未构建webPanel并且需要它。 减速和初始化都必须保留在同一类(称为BuildUI)中,因为这是我设置属性的地方。(对于ToolBar创