Nginx将url参数作为头传递

Nginx将url参数作为头传递,nginx,nginx-config,Nginx,Nginx Config,在以下示例中: http { server { # simple reverse-proxy listen 8080;

在以下示例中:

http {                                                                        
        server { # simple reverse-proxy                                       
        listen       8080;                                                    
            location / {                                                      
                set $token $arg_token;                                        
                #return 200 $token;                                           
                add_header test "test $token";                                
                proxy_pass http://localhost:5601;                             
            }                                                                 
        } ...
}

如果我保留return 200$token,我会将token作为response+in header(这是一种正常行为)获取,但当我删除return时,我只获取“test”作为test header值,请问我缺少什么?

代理集集集集集集集集设置NGINX在与上游/后端通信时将使用的头

在NGINX返回给客户端的响应中,您将看不到添加的头


如果你想看,也可以使用
add_header

谢谢你的回答,我给出了错误的示例。请检查我编辑的问题,谢谢!当您不添加
返回时,HTTP的状态是什么?如果您的应用程序返回非200响应,则
add_header
将不适用,除非您向其添加
always
参数。如果您只使用
add_header test“test$arg_token”
设置
?您的问题可能是
set
+
add_header
+
proxy_pass
的应用顺序。问题是测试存在,只是$arg_令牌(或$token)没有值我不明白为什么,我有test header=“test”如果没有tokenok,这真的很奇怪,但问题似乎来自kibana,如果我尝试另一个代理,它会工作…:(