具有代理传递的Nginx重写规则

Eld*_*dar 27 nginx url-rewriting

我正在尝试为以下情况实现nginx重写规则

请求:

http://192.168.64.76/Shep.ElicenseWeb/Public/OutputDocuments.ashx?uinz=12009718&iinbin=860610350635 
Run Code Online (Sandbox Code Playgroud)

应该重定向到:

http://localhost:82/Public/OutputDocuments.ashx?uinz=12009718&iinbin=860610350635 
Run Code Online (Sandbox Code Playgroud)

我试了这个没有运气:

location /Shep.ElicenseWeb/ {
    rewrite ^/Shep.ElicenseWeb/ /$1 last;
    proxy_pass http://localhost:82;
}
Run Code Online (Sandbox Code Playgroud)

为nginx执行这样重写的正确方法是什么?

sur*_*hvv 47

你的重写声明是错误的.

右边的$ 1指的是匹配部分中的一个组(由paratheses表示).

尝试:

rewrite  ^/Shep.ElicenseWeb/(.*)  /$1 break;
Run Code Online (Sandbox Code Playgroud)


Men*_*heh 5

您缺少斜杠:

location /Shep.ElicenseWeb/ {
    proxy_pass http://localhost:82/;
}
Run Code Online (Sandbox Code Playgroud)

这将工作而无需重写。