Eazy
Eazy

Reputation: 3492

Nginx rewrite rule with proxy pass

I'm trying to implement nginx rewrite rules for the following situation

Request:

http://192.168.64.76/Shep.ElicenseWeb/Public/OutputDocuments.ashx?uinz=12009718&iinbin=860610350635 

Should be redirected to:

http://localhost:82/Public/OutputDocuments.ashx?uinz=12009718&iinbin=860610350635 

I tried this with no luck:

location /Shep.ElicenseWeb/ {
    rewrite ^/Shep.ElicenseWeb/ /$1 last;
    proxy_pass http://localhost:82;
}

What is the correct way to perform such a rewrite for nginx ?

Upvotes: 32

Views: 54661

Answers (2)

Menasheh
Menasheh

Reputation: 3708

You're missing a trailing slash:

location /Shep.ElicenseWeb/ {
    proxy_pass http://localhost:82/;
}

This will work without a rewrite.

Upvotes: 9

sureshvv
sureshvv

Reputation: 4422

Your rewrite statement is wrong.

The $1 on the right refers to a group (indicated by paratheses) in the matching section.

Try:

rewrite  ^/Shep.ElicenseWeb/(.*)  /$1 break;

Upvotes: 52

Related Questions