使用uwsgi_pass覆盖nginx请求标头

时间:2015-08-19 14:20:16

标签: nginx uwsgi

有什么方法可以让nginx到 而不是 将特定请求标头转发给uwsgi?

我想启用nginx基本身份验证,但如果Authorization标头转发到我的应用程序,它会破坏事情(原因,我不会进入)。如果它只是一个简单的proxy_pass我可以proxy_set_header Authorization "";,但我不认为这适用于uwsgi_pass,并且没有等效uwsgi_set_header据我所见。

感谢。

2 个答案:

答案 0 :(得分:1)

尝试隐藏标头并忽略标头指令:

<强> uwsgi_hide_header

  

语法:uwsgi_hide_header字段;默认值: - 上下文:http,服务器,   位置

     

默认情况下,nginx不会传递标题字段“Status”和   来自uwsgi服务器对客户端的响应的“X-Accel -...”。该   uwsgi_hide_header指令设置其他不可用的字段   通过。相反,如果需要通过田地   允许,可以使用uwsgi_pass_header指令。

uwsgi_ignore_headers

  

语法:uwsgi_ignore_headers field ...;默认值: -

     

上下文:http,server,location禁用某些处理   来自uwsgi服务器的响应头字段。以下字段可以   被忽略:“X-Accel-Redirect”,“X-Accel-Expires”,   “X-Accel-Limit-Rate”(1.1.6),“X-Accel-Buffering”(1.1.6),   “X-Accel-Charset”(1.1.6),“Expires”,“Cache-Control”,“Set-Cookie”   (0.8.44)和“变化”(1.7.7)。

     

如果未禁用,则处理这些标题字段具有以下内容   效果:

     

“X-Accel-Expires”,“Expires”,“Cache-Control”,“Set-Cookie”和   “Vary”设置响应缓存的参数; “X-加速重定向”   执行内部重定向到指定的URI;   “X-Accel-Limit-Rate”设置a的传输速率限制   回应客户; “X-Accel-Buffering”启用或禁用   缓冲响应; “X-Accel-Charset”设定了所需的字符集   回应。

答案 1 :(得分:0)

现在对您来说可能为时已晚,但对于任何遇到相同问题的人来说,this answer 提供了有效的解决方案。

在这种情况下,可以使用以下指令传递 Authorization 标头:

uwsgi_param  HTTP_Authorization "";