[英]Pass a header from nginx to uWSGI backend running a Flask application
我有一个在Debian上运行的nginx服务器。 同一台服务器也在运行带有Flask Python应用程序的uWSGI。 我要做的一件事是从nginx将一个HTTP头传递给Flask应用程序,这是由nginx条件决定的,即哪个虚拟主机正在运行请求。
我正在尝试从nginx(而不是从客户端)传递HTTP标头到uWSGI后端,但它没有出现在Flask的DebugToolbar中的HTTP请求下。
来自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
影响应用程序行为X-Foo-Bar: 1
,它没有出现在HTTP请求部分,但它确实影响了应用程序行为( @app.before_request
某个if语句)显然,如果客户端出于安全原因添加了标头,我会删除标头。
上面的屏幕截图是使用Flask-DebugToolbar尝试为HTTP标头执行uwsgi_param
的HTTP标头。
谢谢
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.