i0n
August 08, 2012 11:04AM
Hi everyone.

I'm trying to get Nginx to run some Regex's on requests and send them to another server block, returning the response headers from the second server block. At the moment I get a 302 response status, how do I get the headers from the second server block?

So as an example, I would like a request like: http://nginxrouting.local/some/stuff/that/needs/to/be/removed/itemid=1234/more/stuff/topicid=1234
to be sent to http://nginxrouting_destination.local/itemid=1234topicid=1234 returning the headers from the new location

The server blocks look like this:

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/govuk/nginxrouting/public_destination;
location / {
add_header working yes;
return 200;
}
}
Subject Author Posted

proxying/redirecting after request has been rewritten

i0n August 08, 2012 11:04AM

Re: proxying/redirecting after request has been rewritten

Maxim Dounin August 08, 2012 11:40AM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 248
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready