NGINX将位置重写到另一个端口

时间:2018-06-07 06:55:17

标签: nginx url-rewriting nginx-location proxypass

安装了NGINX,以便转移

http://example.com/Dev/ to http://example.com:8080/apex/f?p=4550:1

我以为我找到了解决方案然后试了一下:

更改了ngnix.config

   location /dev/ {
       rewrite ^/(/dev/)(.*)$ http://localhost:8080/apex/$1 break;
       rewrite_log on;
    }

sudo systemctrl reload nginx

但是当我在浏览器上试用http://example.com/Dev/

我收到500错误。

网站正在收听8080和NGiNX正在收听80

也试过

location /dev {
    rewrite ^/dev(.*) /apex/$1 last;
    proxy_pass http://localhost:8080;
}

1 个答案:

答案 0 :(得分:0)

信用return 301

在阅读完上述答案后,我尝试使用return而不是重写,并且它有效。

无论如何,这是有效的。

location ~ /dev/?$ {
        return 302 http://example.com:8080/apex/$1;
     }

在玩完之后,我也让它重写,看起来我只需要添加一个'〜'在位置线

location ~ /dev {
           rewrite ^/dev(.*) http://example.com:8080/apex$1 last;
        }