加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 运营中心 > Nginx > 正文

如何读取从nginx传递的python / flask中的UWSGI参数

发布时间:2020-12-13 21:28:46 所属栏目:Nginx 来源:网络整理
导读:我设置了python / flask / uwsgi nginx网络应用程序,它的工作正常.我想使用geoip,我把它设置在nginx端: location / { include uwsgi_params; uwsgi_pass unix:/tmp/qbaka-visit.sock; ... uwsgi_param GEOIP_COUNTRY_CODE $geoip_country_code; } 但是现在

我设置了python / flask / uwsgi nginx网络应用程序,它的工作正常.我想使用geoip,我把它设置在nginx端:

   location / {
            include         uwsgi_params;
            uwsgi_pass      unix:/tmp/qbaka-visit.sock;
            ...
            uwsgi_param     GEOIP_COUNTRY_CODE $geoip_country_code;
    }

但是现在我不知道如何在python中读取这个属性.在uwsgi之前,我使用了简单的烧瓶内置webserver nginx proxy_pass,在这种情况下,我使用了proxy_set_header X-Geo-Country $geoip_country_code;并使用request.headers读取此参数,但是对于UWSGI参数,我无法弄清楚如何读取它们.

最佳答案
uwsgi_param为应用程序设置给定名称的wsgi environ键.您可以使用此标头,这些标头遵循使用HTTP_前缀的CGI约定.相当于你的proxy_set_header将是:

uwsgi_param HTTP_X_GEOIP_COUNTRY $geoip_country_code;

请注意,标题名称必须大写,并用短划线替换为下划线,以将其识别为wsgi中的有效标题.

换句话说,它看起来像烧瓶中的environ可以作为request.environ,所以你可以保持你的uwsgi_param是一样的,但把它读为request.environ [‘GEOIP_COUNTRY_CODE’].这实际上可能更为可取,因为您可以将它们与实际请求头区分开.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读