Nginx重写为proxy_pass服务器/路径

时间:2016-10-27 06:39:02

标签: nginx nginx-location

是否可以使用Nginx proxy_pass重写URL,如下所示:

location /foo {
    proxy_pass http://external-server-IP:8080/some/path/;
}

1 个答案:

答案 0 :(得分:0)

以防万一有人仍然需要这个,这样做的简单方法:

    location ~ ^/foo/.* {
        rewrite ^/foo(.*) /$1 break;
        proxy_pass https://external-server:8080/remote-path/;
    }

    rewrite ^/foo$ /foo/ redirect;

这样做是将请求发送到外部服务器,将其伪装在您自己的域下。

rewrite ^/foo(.*) /$1 break; 第一次重写只是删除添加的 URL 路径(远程服务器不希望这样做。

rewrite ^/foo$ /foo/ redirect; 第二次重写是为了以防万一您想使用索引页,以便它实际上也转到远程索引页。