微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

python – 将头文件从nginx传递给运行Flask应用程序的uWSGI后端

我有一个在Debian上运行的Nginx服务器.同一台服务器也在运行带有Flask Python应用程序的uWsgi.我要做的一件事是从Nginx一个HTTP头传递给Flask应用程序,这是由Nginx条件决定的,即哪个虚拟主机正在运行请求.

我正在尝试从Nginx(而不是从客户端)向uWsgi后端传递HTTP标头,但它没有出现在HTTP请求下的Flask的DebugToolbar中.

来自Nginx配置的相关部分

        location / {
                # First attempt to serve request as file, then
                # as directory, then fall back to displaying a 404.
                try_files $uri =404 @flaskapplication;
}
        location @flaskapplication {
            include uwsgi_params;
            uwsgi_pass unix:/tmp/flaskapplication.sock;
            uwsgi_param HTTP_X_TESTING 'bar';
            uwsgi_modifier1 30;
        }

虽然运行说Nginx配置说标题没有显示在Flask-DebugToolbar HTTP请求部分下,但我不确定这是多么可靠,因为我注入了一个HTTP头我知道使用Burp Suite X-Foo-Bar影响应用程序行为: 1,它没有出现在HTTP请求部分,但它确实影响了应用程序行为(@ app.before_request中的某个if语句)显然,如果客户端出于安全原因添加了标头,我会删除标头.

上面的屏幕截图是使用Flask-DebugToolbar尝试为HTTP标头执行uwsgi_param的HTTP标头.

谢谢

解决方法:

解决了它.

我启用了Flask的调试模式并引发了异常以获得对REPL的访问权限.

用uwsgi_param HTTP_X_FOO’Foo bar lorem ipsum’;在相关位置块的Nginx配置中,request.headers看起来像这样(私有和不相关的信息已被编辑)

所以request.headers!= Flask-DebugToolbar请求面板.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐