与代理通Nginx的重写规则(Nginx rewrite rule with proxy pass)

2019-07-04 01:52发布

我试图实现对以下情况nginx的重写规则

请求:

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

应重定向到:

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

我想这没有运气:

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

什么是执行针对nginx的这种重写的正确方法?

Answer 1:

您的重写说法是错误的。

右边的$ 1指的是在匹配部分的基团(由paratheses表示)。

尝试:

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


Answer 2:

你缺少一个斜线:

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

这将工作没有改写。



文章来源: Nginx rewrite rule with proxy pass