Nginx and Gunicorn WSGI Variables



我正在测试Gunicorn作为uWSGI的替代方案。在Gunicorn实例前面设置了一个Nginx反向代理。不使用uWSGI的结果是,我不得不使用Nginx的proxy_pass而不是uwsgi_pass。使用uwsgi_pass,我可以使用uwsgi_param来覆盖PATH_INFOSCRIPT_NAMEWSGI变量。proxy_pass没有等效指令。如何为符合WSGI的应用程序服务器(如Gunicorn(的proxy_pass设置这些WSGI变量?

Gunicorn文档建议您可以通过HTTP标头指定SCRIPT_NAME,而无需任何进一步的解释。对源代码的深入研究表明,它接受了一个非标准的头,实际上名为SCRIPT_NAME。以下可用于设置Gunicorn的SCRIPT_NAME

proxy_set_header SCRIPT_NAME /myapp;

无法设置PATH_INFO。然而,在我的情况下,不需要为Gunicorn设置PATH_INFO,因为它会自动从PATH_INFO中删除SCRIPT_NAME前缀。使用uWSGI时,我不得不重写PATH_INFO以去掉SCRIPT_NAME前缀。

最新更新