Nginx - 重定向到一些应用程序

Nginx - 重定向到一些应用程序

我是 Nginx 的新手。我有一台 VPS,上面有 3 个应用程序在不同的端口上运行:FirstApp localhost:8080 SecondApp localhost:4000 ThirdApp localhost:8085。

FirstApp 运行良好,Nginx 正确重定向,但我想重定向到其他类似的地方:
* domain-name.com/ * domain-name.com/secondApp * domain-name.com/thirdApp

现在我可以这样做,但必须转到 domain-name.com:4000

我该怎么办?/etc/nginx/sites-enabled/default

server {
        listen 80 default_server;
        listen [::]:80 default_server;

         root /var/www/html;

        index index.html index.htm index.nginx-debian.html;

        server_name _;

        location / {
                proxy_pass  http://127.0.0.1:8080;
        }
}

答案1

总的原则:更多的位置块!

    location / {
            proxy_pass  http://127.0.0.1:8080;
    }

    location /secondApp {
            proxy_pass  http://127.0.0.1:4000;
    }

    location /thirdApp {
            proxy_pass  http://127.0.0.1:8085;
    }

这种位置样式称为“前缀匹配”,因此中间块将匹配所有以 开头的路径/secondApp。选择匹配时,nginx 会选择最长的匹配,因此尽管/secondApp/with/a/url匹配//secondApp,nginx 仍会选择中间块,因为它具有最长的匹配。

相关内容