Nginx代理/redirect后请求已被重写

我试图让Nginx运行一些正则expression式的请求,并将它们发送到另一个服务器块,从第二个服务器块返回响应头。 此刻,我得到了302响应状态,如何从第二个服务器块获取标题?

所以作为一个例子,我想要一个请求,如: http://nginxrouting.local/some/stuff/that/needs/to/be/removed/itemid=1234/more/stuff/topicid=1234发送到http ://nginxrouting_destination.local/itemid=1234topicid=1234从新位置返回标题

服务器块如下所示:

server { server_name nginxrouting.local; root /var/nginxrouting/public; location / { if ($request_uri ~* ".*(itemid=[0-9]*){1}.*") { set $itemid $1; } if ($request_uri ~* ".*(topicid=[0-9]*){1}.*") { set $topicid $1; } if ($request_uri ~* ".*(&type=RESOURCES){1}.*") { set $resources $1; } rewrite ^ http://nginxrouting_destination.local/$itemid$topicid$resources? redirect; add_header itemid $itemid; } } server { server_name nginxrouting_destination.local; root var/nginxrouting/public_destination; location / { add_header working yes; return 200; } } 

你应该使用proxy_passconfiguration指令(更多信息在这里 ), rewrite不适合这个。