代码之家  ›  专栏  ›  技术社区  ›  AndrewT

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

  •  0
  • AndrewT  · 技术社区  · 6 年前

    已经安装了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 回复  |  直到 6 年前
        1
  •  0
  •   AndrewT    6 年前

    信用卡 return 301

    在阅读了上面的答案之后,我尝试使用return而不是rewrite,结果成功了。

    不管怎样,这是有效的。

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

    玩过之后,我也开始重写了,看起来我只需要在位置行中添加一个~。

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